Sie sind auf Seite 1von 1041

Informatica MDM Registry Edition

(Version 9.5.3)

Developer Guide

Informatica MDM Registry Edition Developer Guide


Version 9.5.3
September 2013
Copyright (c) 1998-2013 Informatica Corporation. All rights reserved.
This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use
and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in
any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. This Software may be protected by U.S.
and/or international Patents and other Patents Pending.
Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as
provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14
(ALT III), as applicable.
The information in this product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to us
in writing.
Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange,
PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange Informatica
On Demand, Informatica Identity Resolution, Informatica Application Information Lifecycle Management, Informatica Complex Event Processing, Ultra Messaging and
Informatica Master Data Management are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world.
All other company and product names may be trade names or trademarks of their respective owners.
Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies. All rights
reserved. Copyright Sun Microsystems. All rights reserved. Copyright RSA Security Inc. All Rights Reserved. Copyright Ordinal Technology Corp. All rights
reserved.Copyright Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All rights reserved. Copyright Meta
Integration Technology, Inc. All rights reserved. Copyright Intalio. All rights reserved. Copyright Oracle. All rights reserved. Copyright Adobe Systems
Incorporated. All rights reserved. Copyright DataArt, Inc. All rights reserved. Copyright ComponentSource. All rights reserved. Copyright Microsoft Corporation. All
rights reserved. Copyright Rogue Wave Software, Inc. All rights reserved. Copyright Teradata Corporation. All rights reserved. Copyright Yahoo! Inc. All rights
reserved. Copyright Glyph & Cog, LLC. All rights reserved. Copyright Thinkmap, Inc. All rights reserved. Copyright Clearpace Software Limited. All rights
reserved. Copyright Information Builders, Inc. All rights reserved. Copyright OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved.
Copyright Cleo Communications, Inc. All rights reserved. Copyright International Organization for Standardization 1986. All rights reserved. Copyright ejtechnologies GmbH. All rights reserved. Copyright Jaspersoft Corporation. All rights reserved. Copyright is International Business Machines Corporation. All rights
reserved. Copyright yWorks GmbH. All rights reserved. Copyright Lucent Technologies. All rights reserved. Copyright (c) University of Toronto. All rights reserved.
Copyright Daniel Veillard. All rights reserved. Copyright Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright MicroQuill Software Publishing, Inc. All
rights reserved. Copyright PassMark Software Pty Ltd. All rights reserved. Copyright LogiXML, Inc. All rights reserved. Copyright 2003-2010 Lorenzi Davide, All
rights reserved. Copyright Red Hat, Inc. All rights reserved. Copyright The Board of Trustees of the Leland Stanford Junior University. All rights reserved. Copyright
EMC Corporation. All rights reserved. Copyright Flexera Software. All rights reserved. Copyright Jinfonet Software. All rights reserved. Copyright Apple Inc. All
rights reserved. Copyright Telerik Inc. All rights reserved. Copyright BEA Systems. All rights reserved.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and/or other software which is licensed under various versions
of the Apache License (the "License"). You may obtain a copy of these Licenses at http://www.apache.org/licenses/. Unless required by applicable law or agreed to in
writing, software distributed under these Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.
This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software
copyright 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under various versions of the GNU Lesser General Public License
Agreement, which may be found at http://www.gnu.org/licenses/lgpl.html. The materials are provided free of charge by Informatica, "as-is", without warranty of any kind,
either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.
The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California,
Irvine, and Vanderbilt University, Copyright () 1993-2006, all rights reserved.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and
redistribution of this software is subject to terms available at http://www.openssl.org and http://www.openssl.org/source/license.html.
This product includes Curl software which is Copyright 1996-2013, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved. Permissions and limitations regarding this
software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or
without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
The product includes software copyright 2001-2005 () MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms
available at http://www.dom4j.org/license.html.
The product includes software copyright 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to
terms available at http://dojotoolkit.org/license.
This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations
regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html.
This product includes software copyright 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at
http:// www.gnu.org/software/kawa/Software-License.html.
This product includes OSSP UUID software which is Copyright 2002 Ralf S. Engelschall, Copyright 2002 The OSSP Project Copyright 2002 Cable & Wireless
Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software are
subject to terms available at http://www.boost.org/LICENSE_1_0.txt.
This product includes software copyright 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at
http://www.pcre.org/license.txt.
This product includes software copyright 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms
available at http://www.eclipse.org/org/documents/epl-v10.php and at http://www.eclipse.org/org/documents/edl-v10.php.
This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://
www.stlport.org/doc/license.html, http://asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://
httpunit.sourceforge.net/doc/license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/
license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/licenseagreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html;

http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/Consortium/Legal/


2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http://
forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http://
www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License; http://
www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/
license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http://
www.jmock.org/license.html; http://xsom.java.net; and http://benalman.com/about/license/; https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/
Bitmap.js; http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/LICENSE; http://jdbc.postgresql.org/license.html; and http://
protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto.
This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution
License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary Code License
Agreement Supplemental License Terms, the BSD License (http://www.opensource.org/licenses/bsd-license.php) the MIT License (http://www.opensource.org/licenses/
mit-license.php), the Artistic License (http://www.opensource.org/licenses/artistic-license-1.0) and the Initial Developers Public License Version 1.0 (http://
www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/).
This product includes software copyright 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this
software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab.
For further information please visit http://www.extreme.indiana.edu/.
This product includes software Copyright (c) 2013 Frank Balluffi and Markus Moeller. All rights reserved. Permissions and limitations regarding this software are subject
to terms of the MIT license.
This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990; 6,339,775;
6,640,226; 6,789,096; 6,820,077; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,243,110, 7,254,590; 7,281,001; 7,421,458; 7,496,588; 7,523,121;
7,584,422; 7676516; 7,720,842; 7,721,270; and 7,774,791, international Patents and other Patents Pending.
DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the
implied warranties of noninfringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is
error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and
documentation is subject to change at any time without notice.
NOTICES
This Informatica product (the Software) includes certain drivers (the DataDirect Drivers) from DataDirect Technologies, an operating company of Progress Software
Corporation (DataDirect) which are subject to the following terms and conditions:
1. THE DATADIRECT DRIVERS ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT
INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT
LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.
Part Number: MRE-DEV-95300-0002

Contents
Table of Contents

Introduction
Process Overview
Concepts . . . . .
Connections
Sessions . . .
Systems . . .
Searches . .
Basic API . . . . .
Advanced API . .

35
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

36
36
36
36
36
36
36
37

Sample API Programs


Sample System . . . . . . . . . . . . . . . . . . . . . . . .
Directory Structure . . . . . . . . . . . . . . . . . .
Population . . . . . . . . . . . . . . . . . . . . . . .
Installing . . . . . . . . . . . . . . . . . . . . . . . .
IDT Layout . . . . . . . . . . . . . . . . . . . . . . .
Building the Programs . . . . . . . . . . . . . . . .
Language specific notes . . . . . . . . . . .
Running the Samples . . . . . . . . . . . . . . . . .
C . . . . . . . . . . . . . . . . . . . . . . . .
ColdFusion . . . . . . . . . . . . . . . . . .
C# . . . . . . . . . . . . . . . . . . . . . . . .
Java . . . . . . . . . . . . . . . . . . . . . . .
MS SQL . . . . . . . . . . . . . . . . . . . .
Perl . . . . . . . . . . . . . . . . . . . . . . .
Oracle and PL/SQL . . . . . . . . . . . . .
Power Builder . . . . . . . . . . . . . . . . .
VB6 . . . . . . . . . . . . . . . . . . . . . . .
VB6 OCX . . . . . . . . . . . . . . . . . . . .
VB.NET . . . . . . . . . . . . . . . . . . . .
Sample 1 - Basic API . . . . . . . . . . . . . . . . . . . .
Logic . . . . . . . . . . . . . . . . . . . . . . . . . .
Open a socket to the Search Server . . . . .
Open a System and start a Search . . . . . .
Retrieve Result Set . . . . . . . . . . . . . .
Terminate the Search and close the System
Disconnect from the Search Server . . . . .
Sample 2 - Advanced API . . . . . . . . . . . . . . . . .
Logic . . . . . . . . . . . . . . . . . . . . . . . . . .
Open a socket to the Connection Server . .
Open a Session . . . . . . . . . . . . . . . .
Open a System . . . . . . . . . . . . . . . .
Retrieve the Input-View layout . . . . . . .
for each Search . . . . . . . . . . . . . . . .
Close System . . . . . . . . . . . . . . . . .
Close Session (optional) . . . . . . . . . . .
Disconnect from the Connection Server . .
PIDSearch - Persistance ID search API . . . . . . . . . .
Logic . . . . . . . . . . . . . . . . . . . . . . . . . .
Open a socket to the Search Server . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

38
38
38
38
38
39
39
39
40
40
40
40
41
41
41
41
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
44
44
44
45
45
45
45
46
46

CONTENTS

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Open a System . . . . . . . . . . . . . . . . . . . . .
Identify the persistent ID search to use . . . . . . .
Get name of the IDT associated with the PID search
Identify the runnable search to use . . . . . . . . . .
Construct search record . . . . . . . . . . . . . . . .
Retrieve the Input-View layout . . . . . . . . . . . .
Start a search . . . . . . . . . . . . . . . . . . . . . .
Get preferred records . . . . . . . . . . . . . . . . . .
For each record in preferred records . . . . . . . . .
End Loop . . . . . . . . . . . . . . . . . . . . . . . .
Finish Search . . . . . . . . . . . . . . . . . . . . . .
Terminate the Search and close the System . . . . .
Disconnect from the Search Server . . . . . . . . . .
API Reference
Data Types . . . . . .
Strings . . . . .
String Arrays .
Blocks . . . . . .
Block Arrays . .
Nulls and NULs
Error Handling . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

46
46
46
46
47
47
47
47
48
48
48
48
48

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

49
49
49
49
50
50
50
50

Constants . . . .
Parameter types .
ids_addr_get_cass_field . . .
ids_addr_get_cass_field_cnt .
ids_addr_get_cass_field_info
ids_addr_get_del_lines_ext .
ids_addr_get_field . . . . . .
ids_addr_get_field_count . .
ids_addr_get_field_ext . . . .
ids_addr_get_field_idx . . . .
ids_addr_get_field_info_ext .
ids_addr_get_field_len . . . .
ids_addr_get_line_len . . . .
ids_addr_get_option . . . . .
ids_addr_info . . . . . . . . .
ids_addr_init . . . . . . . . . .
ids_addr_parse . . . . . . . .
ids_addr_preload_country . .
ids_addr_set_attrib . . . . . .
ids_addr_set_del_lines . . . .
ids_addr_set_field_case . . .
ids_addr_set_field_ext . . . .
ids_addr_set_field_idx . . . .
ids_addr_set_field_name . . .
ids_addr_set_lines . . . . . . .
ids_addr_set_option . . . . .
ids_addr_std . . . . . . . . . .
ids_addr_validate . . . . . . .
ids_connect . . . . . . . . . . .
ids_disconnect . . . . . . . . .
ids_error_get . . . . . . . . . .
ids_errors_get_all . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

51
51
51
51
52
52
53
54
54
55
56
56
57
57
58
58
59
59
60
60
61
62
62
63
64
64
65
66
67
67
68
68
69

CONTENTS

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Calling from C

ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .
ids_search_get_complete . . . . .
ids_search_get_detail . . . . . . .
ids_search_IDT_get . . . . . . . .
ids_search_layout . . . . . . . . .
ids_search_start . . . . . . . . . .
ids_search_tolerances_count . . .
ids_search_tolerances_get . . . .
ids_search_view_get . . . . . . .
ids_search_view_set . . . . . . .
ids_search_widths_count . . . . .
ids_search_widths_get . . . . . .
ids_server_version_get . . . . . .
ids_session_close . . . . . . . . .
ids_session_open . . . . . . . . .
ids_set_encoding . . . . . . . . .
ids_set_vpd_user . . . . . . . . .
ids_system_close . . . . . . . . .
ids_system_idtname_count . . .
5

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

69
70
70
71
71
72
72
73
74
74
75
76
76
77
77
78
78
79
79
80
81
82
83
83
84
84
85
85
86
87
88
88
89
90
90
91
91
92
93
94
94
96
97
98
98
99
99
100
100
101
101
102
102
103
103

ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .
Calling from C without Arrays
Constants . . . .
Parameter types .
ids_addr_get_cass_field . . .
ids_addr_get_cass_field_cnt .
ids_addr_get_cass_field_info
ids_addr_get_del_lines_ext .
ids_addr_get_field . . . . . .
ids_addr_get_field_count . .
ids_addr_get_field_ext . . . .
ids_addr_get_field_idx . . . .
ids_addr_get_field_info_ext .
ids_addr_get_field_len . . . .
ids_addr_get_line_len . . . .
ids_addr_get_option . . . . .
ids_addr_info . . . . . . . . .
ids_addr_init . . . . . . . . . .
ids_addr_parse . . . . . . . .
ids_addr_preload_country . .
ids_addr_set_attrib . . . . . .
ids_addr_set_del_lines . . . .
ids_addr_set_field_case . . .
ids_addr_set_field_ext . . . .
ids_addr_set_field_idx . . . .
ids_addr_set_field_name . . .
ids_addr_set_lines . . . . . . .
ids_addr_set_option . . . . .
ids_addr_std . . . . . . . . . .
ids_addr_validate . . . . . . .
ids_connect . . . . . . . . . . .
ids_disconnect . . . . . . . . .
ids_error_get . . . . . . . . . .
ids_errors_get_all . . . . . . .
ids_identify . . . . . . . . . .
ids_is_little_endian . . . . . .
ids_match_explain . . . . . .
ids_match_explain_count . .
ids_pid_close . . . . . . . . .
ids_pid_member_count . . .
ids_pid_member_get . . . . .
ids_pid_open . . . . . . . . .
ids_pid_search_get . . . . . .
ids_pid_search_get_clusters .
ids_pid_src_pk_get . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

104
104
105
106
106
107
107
108
109
109
110

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

111
111
111
111
112
112
113
114
114
115
115
116
117
117
118
118
119
119
120
120
121
121
122
123
123
124
125
125
126
126
127
127
128
128
129
129
130
131
131
132
132
133
133
134

CONTENTS

ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .
ids_search_get_complete . . . . .
ids_search_get_detail . . . . . . .
ids_search_IDT_get . . . . . . . .
ids_search_layout . . . . . . . . .
ids_search_start . . . . . . . . . .
ids_search_tolerances_count . . .
ids_search_tolerances_get . . . .
ids_search_view_get . . . . . . .
ids_search_view_set . . . . . . .
ids_search_widths_count . . . . .
ids_search_widths_get . . . . . .
ids_server_version_get . . . . . .
ids_session_close . . . . . . . . .
ids_session_open . . . . . . . . .
ids_set_encoding . . . . . . . . .
ids_set_vpd_user . . . . . . . . .
ids_system_close . . . . . . . . .
ids_system_idtname_count . . .
ids_system_idtname_get . . . . .
ids_system_notify . . . . . . . . .
ids_system_open . . . . . . . . .
ids_system_pid_searches_count .
ids_system_pid_searches_get . .
ids_system_search_finish . . . . .
ids_system_search_start . . . . .
ids_system_searches_count . . .
ids_system_searches_get . . . . .
ids_systems_count . . . . . . . .
ids_systems_get . . . . . . . . . .
7

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

135
135
136
136
137
137
138
138
139
140
141
141
142
142
143
143
144
145
146
146
147
148
148
149
149
150
151
152
152
153
154
155
156
156
157
158
158
159
159
159
160
160
161
161
162
162
163
164
164
165
165
166
166
167
167

Calling from C#
Installation - Win32 client
Constants . . . . . . . . .
Response code . . . . . .
Parameter types . . . . . .
Constructor . . . . . . . . . . . . . . .
addr_get_cass_field . . . . . . . . . . .
addr_get_cass_field_cnt . . . . . . . .
addr_get_cass_field_info . . . . . . . .
addr_get_del_lines_ext . . . . . . . . .
addr_get_field . . . . . . . . . . . . . .
addr_get_field_count . . . . . . . . . .
addr_get_field_ext . . . . . . . . . . .
addr_get_field_idx . . . . . . . . . . .
addr_get_field_info_ext . . . . . . . .
addr_get_field_len . . . . . . . . . . .
addr_get_line_len . . . . . . . . . . . .
addr_get_option . . . . . . . . . . . . .
addr_info . . . . . . . . . . . . . . . . .
addr_init . . . . . . . . . . . . . . . . .
addr_parse . . . . . . . . . . . . . . . .
addr_preload_country . . . . . . . . .
addr_set_attrib . . . . . . . . . . . . . .
addr_set_del_lines . . . . . . . . . . .
addr_set_field_case . . . . . . . . . . .
addr_set_field_ext . . . . . . . . . . . .
addr_set_field_idx . . . . . . . . . . .
addr_set_field_name . . . . . . . . . .
addr_set_lines . . . . . . . . . . . . . .
addr_set_option . . . . . . . . . . . . .
addr_std . . . . . . . . . . . . . . . . .
addr_validate . . . . . . . . . . . . . .
disconnect . . . . . . . . . . . . . . . .
error_get . . . . . . . . . . . . . . . . .
errors_get_all . . . . . . . . . . . . . .
identify . . . . . . . . . . . . . . . . . .
is_little_endian . . . . . . . . . . . . .
match_explain . . . . . . . . . . . . . .
match_explain_count . . . . . . . . . .
pid_close . . . . . . . . . . . . . . . . .
pid_member_count . . . . . . . . . . .
pid_member_get . . . . . . . . . . . .
pid_open . . . . . . . . . . . . . . . . .
pid_search_get . . . . . . . . . . . . . .
pid_search_get_clusters . . . . . . . .
pid_src_pk_get . . . . . . . . . . . . .
pid_src_pk_start . . . . . . . . . . . . .
ps_get_entity_list . . . . . . . . . . . .
ps_get_entity_max_elements . . . . .
ps_get_entity_max_length . . . . . . .
ps_parse . . . . . . . . . . . . . . . . .
ps_set_encoding . . . . . . . . . . . . .
ps_set_entity_list . . . . . . . . . . . .
ps_set_population . . . . . . . . . . . .
real_time_async_get . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

169
169
169
169
169
169
170
170
171
171
172
173
173
174
174
175
175
176
176
177
177
178
178
179
180
180
181
181
182
183
183
184
184
185
185
186
186
187
187
188
188
189
189
190
191
191
192
192
192
193
193
194
195
195
196

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

real_time_async_start . . . .
real_time_flul_add . . . . .
real_time_flul_close . . . . .
real_time_flul_delete . . . .
real_time_flul_find_rule . .
real_time_flul_get_rule . . .
real_time_flul_init . . . . . .
real_time_sync_get . . . . .
real_time_sync_start . . . .
scores_get . . . . . . . . . .
search_comment_get . . . .
search_dedupe_start . . . .
search_fields_count . . . . .
search_fields_get . . . . . .
search_filter . . . . . . . . .
search_finish . . . . . . . . .
search_get . . . . . . . . . .
search_get_complete . . . .
search_get_detail . . . . . .
search_IDT_get . . . . . . .
search_layout . . . . . . . .
search_start . . . . . . . . .
search_tolerances_count . .
search_tolerances_get . . . .
search_view_get . . . . . . .
search_view_set . . . . . . .
search_widths_count . . . .
search_widths_get . . . . . .
server_version_get . . . . .
session_close . . . . . . . . .
session_open . . . . . . . . .
set_encoding . . . . . . . . .
set_vpd_user . . . . . . . . .
system_close . . . . . . . . .
system_idtname_count . . .
system_idtname_get . . . .
system_notify . . . . . . . .
system_open . . . . . . . . .
system_pid_searches_count
system_pid_searches_get . .
system_search_finish . . . .
system_search_start . . . . .
system_searches_count . . .
system_searches_get . . . .
systems_count . . . . . . . .
systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

196
197
198
199
199
200
200
201
201
203
203
204
205
205
206
206
207
207
208
209
209
210
211
212
212
213
214
214
215
215
215
216
216
217
217
218
218
219
219
220
220
221
222
222
223
223

Calling from Cobol (z/OS)


Constants . . . . . . . . . . . . . .
Installation . . . . . . . . . . . . . .
Installation (TSO/batch) . . . . . .
Installation (CICS) -static calls . .
Installation (CICS) - dynamic calls
Defining programs to CICS . . . .
Parameter types . . . . . . . . . . .
IDS-ADDR-GET-CASS-FIELD . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

224
224
224
224
225
225
225
225
226

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

IDS-ADDR-GET-CASS-FIELD-CNT . .
IDS-ADDR-GET-CASS-FIELD-INFO . .
IDS-ADDR-GET-DEL-LINES-EXT . . .
IDS-ADDR-GET-FIELD . . . . . . . . . .
IDS-ADDR-GET-FIELD-COUNT . . . .
IDS-ADDR-GET-FIELD-EXT . . . . . . .
IDS-ADDR-GET-FIELD-IDX . . . . . . .
IDS-ADDR-GET-FIELD-INFO-EXT . . .
IDS-ADDR-GET-FIELD-LEN . . . . . .
IDS-ADDR-GET-LINE-LEN . . . . . . .
IDS-ADDR-GET-OPTION . . . . . . . .
IDS-ADDR-INFO . . . . . . . . . . . . .
IDS-ADDR-INIT . . . . . . . . . . . . . .
IDS-ADDR-PARSE . . . . . . . . . . . .
IDS-ADDR-PRELOAD-COUNTRY . . .
IDS-ADDR-SET-ATTRIB . . . . . . . . .
IDS-ADDR-SET-DEL-LINES . . . . . . .
IDS-ADDR-SET-FIELD-CASE . . . . . .
IDS-ADDR-SET-FIELD-EXT . . . . . . .
IDS-ADDR-SET-FIELD-IDX . . . . . . .
IDS-ADDR-SET-FIELD-NAME . . . . .
IDS-ADDR-SET-LINES . . . . . . . . . .
IDS-ADDR-SET-OPTION . . . . . . . .
IDS-ADDR-STD . . . . . . . . . . . . . .
IDS-ADDR-VALIDATE . . . . . . . . . .
IDS-CONNECT . . . . . . . . . . . . . .
IDS-DISCONNECT . . . . . . . . . . . .
IDS-ERROR-GET . . . . . . . . . . . . .
IDS-ERRORS-GET-ALL . . . . . . . . . .
IDS-IDENTIFY . . . . . . . . . . . . . . .
IDS-IS-LITTLE-ENDIAN . . . . . . . . .
IDS-MATCH-EXPLAIN . . . . . . . . .
IDS-MATCH-EXPLAIN-COUNT . . . .
IDS-PID-CLOSE . . . . . . . . . . . . . .
IDS-PID-MEMBER-COUNT . . . . . . .
IDS-PID-MEMBER-GET . . . . . . . . .
IDS-PID-OPEN . . . . . . . . . . . . . .
IDS-PID-SEARCH-GET . . . . . . . . . .
IDS-PID-SEARCH-GET-CLUSTERS . .
IDS-PID-SRC-PK-GET . . . . . . . . . .
IDS-PID-SRC-PK-START . . . . . . . . .
IDS-PS-GET-ENTITY-LIST . . . . . . . .
IDS-PS-GET-ENTITY-MAX-ELEMENTS
IDS-PS-GET-ENTITY-MAX-LENGTH .
IDS-PS-PARSE . . . . . . . . . . . . . . .
IDS-PS-SET-ENCODING . . . . . . . . .
IDS-PS-SET-ENTITY-LIST . . . . . . . .
IDS-PS-SET-POPULATION . . . . . . .
IDS-REAL-TIME-ASYNC-GET . . . . .
IDS-REAL-TIME-ASYNC-START . . . .
IDS-REAL-TIME-FLUL-ADD . . . . . .
IDS-REAL-TIME-FLUL-CLOSE . . . . .
IDS-REAL-TIME-FLUL-DELETE . . . .
IDS-REAL-TIME-FLUL-FIND-RULE . .
IDS-REAL-TIME-FLUL-GET-RULE . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

226
227
227
228
229
229
230
231
231
232
232
233
233
234
234
235
236
236
237
237
238
238
239
240
241
241
242
242
243
243
244
244
245
245
246
246
247
248
248
249
250
250
251
251
252
252
253
253
254
255
256
256
257
257
258
10

IDS-REAL-TIME-FLUL-INIT . . . . . .
IDS-REAL-TIME-SYNC-GET . . . . . .
IDS-REAL-TIME-SYNC-START . . . . .
IDS-SCORES-GET . . . . . . . . . . . . .
IDS-SEARCH-COMMENT-GET . . . . .
IDS-SEARCH-DEDUPE-START . . . . .
IDS-SEARCH-FIELDS-COUNT . . . . .
IDS-SEARCH-FIELDS-GET . . . . . . .
IDS-SEARCH-FILTER . . . . . . . . . . .
IDS-SEARCH-FINISH . . . . . . . . . .
IDS-SEARCH-GET . . . . . . . . . . . .
IDS-SEARCH-GET-COMPLETE . . . . .
IDS-SEARCH-GET-DETAIL . . . . . . .
IDS-SEARCH-IDT-GET . . . . . . . . . .
IDS-SEARCH-LAYOUT . . . . . . . . .
IDS-SEARCH-START . . . . . . . . . . .
IDS-SEARCH-TOLERANCES-COUNT .
IDS-SEARCH-TOLERANCES-GET . . .
IDS-SEARCH-VIEW-GET . . . . . . . .
IDS-SEARCH-VIEW-SET . . . . . . . . .
IDS-SEARCH-WIDTHS-COUNT . . . .
IDS-SEARCH-WIDTHS-GET . . . . . .
IDS-SERVER-VERSION-GET . . . . . .
IDS-SESSION-CLOSE . . . . . . . . . . .
IDS-SESSION-OPEN . . . . . . . . . . .
IDS-SET-ENCODING . . . . . . . . . . .
IDS-SET-VPD-USER . . . . . . . . . . .
IDS-SYSTEM-CLOSE . . . . . . . . . . .
IDS-SYSTEM-IDTNAME-COUNT . . .
IDS-SYSTEM-IDTNAME-GET . . . . . .
IDS-SYSTEM-NOTIFY . . . . . . . . . .
IDS-SYSTEM-OPEN . . . . . . . . . . .
IDS-SYSTEM-PID-SEARCHES-COUNT
IDS-SYSTEM-PID-SEARCHES-GET . .
IDS-SYSTEM-SEARCH-FINISH . . . . .
IDS-SYSTEM-SEARCH-START . . . . .
IDS-SYSTEM-SEARCHES-COUNT . . .
IDS-SYSTEM-SEARCHES-GET . . . . .
IDS-SYSTEMS-COUNT . . . . . . . . . .
IDS-SYSTEMS-GET . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

258
259
260
261
261
262
263
263
264
264
265
266
267
267
268
269
270
271
271
272
273
273
274
274
275
275
276
276
277
277
278
278
279
279
280
280
281
282
282
283

Calling from ColdFusion with an ActiveX Control


Constants . . . . . . . . . . . . . . .
Parameter types . . . . . . . . . . . .
ids_addr_get_cass_field . . . . . . . . . . . . . .
ids_addr_get_cass_field_cnt . . . . . . . . . . . .
ids_addr_get_cass_field_info . . . . . . . . . . .
ids_addr_get_del_lines_ext . . . . . . . . . . . .
ids_addr_get_field . . . . . . . . . . . . . . . . .
ids_addr_get_field_count . . . . . . . . . . . . .
ids_addr_get_field_ext . . . . . . . . . . . . . . .
ids_addr_get_field_idx . . . . . . . . . . . . . . .
ids_addr_get_field_info_ext . . . . . . . . . . . .
ids_addr_get_field_len . . . . . . . . . . . . . . .
ids_addr_get_line_len . . . . . . . . . . . . . . .
ids_addr_get_option . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

284
284
284
284
285
285
286
286
287
287
288
289
289
290
290

11

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

ids_addr_info . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . .
ids_addr_preload_country . . . .
ids_addr_set_attrib . . . . . . . .
ids_addr_set_del_lines . . . . . .
ids_addr_set_field_case . . . . .
ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_connect . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

291
291
292
292
293
293
294
294
295
295
296
297
297
298
298
299
299
300
300
301
301
302
303
303
303
304
304
305
306
306
307
307
308
308
309
309
310
310
311
312
312
313
313
314
314
315
316
317
317
318
319
319
320
320
321
12

ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .
Calling from Java
Java Version . . . . . . . . . .
Overview . . . . . . . . . . . .
Constants . . . . . . . . .
Parameter types . . . . .
Error Handling . . . . . . . .
Deprecated APIs . . . . . . . .
ClieSock Constructor . . . . .
ids_addr_get_cass_field . . .
ids_addr_get_cass_field_cnt .
ids_addr_get_cass_field_info
ids_addr_get_del_lines_ext .
ids_addr_get_field . . . . . .
ids_addr_get_field_count . .
ids_addr_get_field_ext . . . .
ids_addr_get_field_idx . . . .
ids_addr_get_field_info_ext .
ids_addr_get_field_len . . . .
ids_addr_get_line_len . . . .
ids_addr_get_option . . . . .
ids_addr_info . . . . . . . . .
ids_addr_init . . . . . . . . . .
ids_addr_parse . . . . . . . .
ids_addr_preload_country . .
ids_addr_set_attrib . . . . . .
ids_addr_set_del_lines . . . .
13

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

322
322
323
324
325
326
327
327
328
328
329
329
330
330
330
331
331
332
332
333
333
334
334
335
335
336
337
337
338

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

339
339
339
339
339
339
341
341
342
343
343
344
345
345
346
346
347
348
348
349
349
350
350
351
351
352

ids_addr_set_field_case . . . . .
ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .
ids_search_get_complete . . . . .
ids_search_get_detail . . . . . . .
ids_search_IDT_get . . . . . . . .
ids_search_layout . . . . . . . . .
ids_search_start . . . . . . . . . .
ids_search_tolerances_count . . .
ids_search_tolerances_get . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

352
353
354
354
355
355
356
357
357
358
358
359
359
360
361
361
361
362
363
363
364
364
365
365
366
366
367
368
368
369
369
370
371
372
372
373
373
374
374
375
376
377
377
378
379
379
380
380
381
382
382
383
384
385
386
14

ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

386
387
388
388
389
389
390
390
391
391
392
392
393
393
394
394
395
395
396
397
397
398

Calling from Perl


Constants - Object Oriented
Installation - Win32 client .
Installation - Unix client . .
Parameter types . . . . . . .
addr_get_cass_field . . . . . . . . . . . .
addr_get_cass_field_cnt . . . . . . . . .
addr_get_cass_field_info . . . . . . . . .
addr_get_del_lines_ext . . . . . . . . . .
addr_get_field . . . . . . . . . . . . . . .
addr_get_field_count . . . . . . . . . . .
addr_get_field_ext . . . . . . . . . . . .
addr_get_field_idx . . . . . . . . . . . .
addr_get_field_info_ext . . . . . . . . .
addr_get_field_len . . . . . . . . . . . .
addr_get_line_len . . . . . . . . . . . . .
addr_get_option . . . . . . . . . . . . . .
addr_info . . . . . . . . . . . . . . . . . .
addr_init . . . . . . . . . . . . . . . . . .
addr_parse . . . . . . . . . . . . . . . . .
addr_preload_country . . . . . . . . . .
addr_set_attrib . . . . . . . . . . . . . . .
addr_set_del_lines . . . . . . . . . . . .
addr_set_field_case . . . . . . . . . . . .
addr_set_field_ext . . . . . . . . . . . . .
addr_set_field_idx . . . . . . . . . . . .
addr_set_field_name . . . . . . . . . . .
addr_set_lines . . . . . . . . . . . . . . .
addr_set_option . . . . . . . . . . . . . .
addr_std . . . . . . . . . . . . . . . . . .
addr_validate . . . . . . . . . . . . . . .
disconnect . . . . . . . . . . . . . . . . .
error_get . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

399
399
399
399
399
399
400
400
401
402
402
403
403
404
405
405
405
406
406
407
407
408
408
409
410
410
411
411
412
413
414
414
415

15

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

errors_get_all . . . . . . . . .
identify . . . . . . . . . . . . .
is_little_endian . . . . . . . .
match_explain . . . . . . . . .
match_explain_count . . . . .
pid_close . . . . . . . . . . . .
pid_member_count . . . . . .
pid_member_get . . . . . . .
pid_open . . . . . . . . . . . .
pid_search_get . . . . . . . . .
pid_search_get_clusters . . .
pid_src_pk_get . . . . . . . .
pid_src_pk_start . . . . . . . .
ps_get_entity_list . . . . . . .
ps_get_entity_max_elements
ps_get_entity_max_length . .
ps_parse . . . . . . . . . . . .
ps_set_encoding . . . . . . . .
ps_set_entity_list . . . . . . .
ps_set_population . . . . . . .
real_time_async_get . . . . . .
real_time_async_start . . . . .
real_time_flul_add . . . . . .
real_time_flul_close . . . . . .
real_time_flul_delete . . . . .
real_time_flul_find_rule . . .
real_time_flul_get_rule . . . .
real_time_flul_init . . . . . . .
real_time_sync_get . . . . . .
real_time_sync_start . . . . .
scores_get . . . . . . . . . . .
search_comment_get . . . . .
search_dedupe_start . . . . .
search_fields_count . . . . . .
search_fields_get . . . . . . .
search_filter . . . . . . . . . .
search_finish . . . . . . . . . .
search_get . . . . . . . . . . .
search_get_complete . . . . .
search_get_detail . . . . . . .
search_IDT_get . . . . . . . .
search_layout . . . . . . . . .
search_start . . . . . . . . . .
search_tolerances_count . . .
search_tolerances_get . . . . .
search_view_get . . . . . . . .
search_view_set . . . . . . . .
search_widths_count . . . . .
search_widths_get . . . . . . .
server_version_get . . . . . .
session_close . . . . . . . . . .
session_open . . . . . . . . . .
set_encoding . . . . . . . . . .
set_vpd_user . . . . . . . . . .
system_close . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

415
416
416
417
417
418
418
419
419
420
420
421
421
422
422
423
423
424
425
425
426
426
427
428
429
429
430
430
431
431
433
433
434
435
435
436
436
437
437
438
439
439
440
441
442
442
443
444
444
445
445
445
446
446
447
16

system_idtname_count . . .
system_idtname_get . . . .
system_notify . . . . . . . .
system_open . . . . . . . . .
system_pid_searches_count
system_pid_searches_get . .
system_search_finish . . . .
system_search_start . . . . .
system_searches_count . . .
system_searches_get . . . .
systems_count . . . . . . . .
systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

447
448
448
449
449
450
450
451
452
452
453
453

Calling from MS SQL


Constants . . . . . . . . . .
Installation - Win32 Server .
Parameter types . . . . . . .
ssasexp_addr_get_cass_field . . . . . . .
ssasexp_addr_get_cass_field_cnt . . . .
ssasexp_addr_get_cass_field_info . . . .
ssasexp_addr_get_del_lines_ext . . . . .
ssasexp_addr_get_field . . . . . . . . . .
ssasexp_addr_get_field_count . . . . . .
ssasexp_addr_get_field_ext . . . . . . .
ssasexp_addr_get_field_idx . . . . . . .
ssasexp_addr_get_field_info_ext . . . .
ssasexp_addr_get_field_len . . . . . . .
ssasexp_addr_get_line_len . . . . . . . .
ssasexp_addr_get_option . . . . . . . . .
ssasexp_addr_info . . . . . . . . . . . . .
ssasexp_addr_init . . . . . . . . . . . . .
ssasexp_addr_parse . . . . . . . . . . . .
ssasexp_addr_preload_country . . . . .
ssasexp_addr_set_attrib . . . . . . . . .
ssasexp_addr_set_del_lines . . . . . . .
ssasexp_addr_set_field_case . . . . . . .
ssasexp_addr_set_field_ext . . . . . . .
ssasexp_addr_set_field_idx . . . . . . .
ssasexp_addr_set_field_name . . . . . .
ssasexp_addr_set_lines . . . . . . . . . .
ssasexp_addr_set_option . . . . . . . . .
ssasexp_addr_std . . . . . . . . . . . . .
ssasexp_addr_validate . . . . . . . . . .
ssasexp_connect . . . . . . . . . . . . . .
ssasexp_disconnect . . . . . . . . . . . .
ssasexp_error_get . . . . . . . . . . . . .
ssasexp_errors_get_all . . . . . . . . . .
ssasexp_identify . . . . . . . . . . . . . .
ssasexp_is_little_endian . . . . . . . . .
ssasexp_match_explain . . . . . . . . . .
ssasexp_match_explain_count . . . . . .
ssasexp_pid_close . . . . . . . . . . . . .
ssasexp_pid_member_count . . . . . . .
ssasexp_pid_member_get . . . . . . . .
ssasexp_pid_open . . . . . . . . . . . . .
ssasexp_pid_search_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

454
454
454
454
454
455
455
456
457
458
458
459
460
461
461
462
462
463
463
464
465
465
466
466
467
468
468
469
469
470
471
471
472
472
473
473
474
475
475
476
476
477
477

17

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

ssasexp_pid_search_get_clusters . . .
ssasexp_pid_src_pk_get . . . . . . . .
ssasexp_pid_src_pk_start . . . . . . . .
ssasexp_ps_get_entity_list . . . . . . .
ssasexp_ps_get_entity_max_elements
ssasexp_ps_get_entity_max_length . .
ssasexp_ps_parse . . . . . . . . . . . .
ssasexp_ps_set_encoding . . . . . . . .
ssasexp_ps_set_entity_list . . . . . . .
ssasexp_ps_set_population . . . . . .
ssasexp_real_time_async_get . . . . .
ssasexp_real_time_async_start . . . . .
ssasexp_real_time_flul_add . . . . . .
ssasexp_real_time_flul_close . . . . . .
ssasexp_real_time_flul_delete . . . . .
ssasexp_real_time_flul_find_rule . . .
ssasexp_real_time_flul_get_rule . . . .
ssasexp_real_time_flul_init . . . . . . .
ssasexp_real_time_sync_get . . . . . .
ssasexp_real_time_sync_start . . . . .
ssasexp_scores_get . . . . . . . . . . .
ssasexp_search_comment_get . . . . .
ssasexp_search_dedupe_start . . . . .
ssasexp_search_fields_count . . . . . .
ssasexp_search_fields_get . . . . . . .
ssasexp_search_filter . . . . . . . . . .
ssasexp_search_finish . . . . . . . . . .
ssasexp_search_get . . . . . . . . . . .
ssasexp_search_get_complete . . . . .
ssasexp_search_get_detail . . . . . . .
ssasexp_search_IDT_get . . . . . . . .
ssasexp_search_layout . . . . . . . . .
ssasexp_search_start . . . . . . . . . .
ssasexp_search_tolerances_count . . .
ssasexp_search_tolerances_get . . . .
ssasexp_search_view_get . . . . . . . .
ssasexp_search_view_set . . . . . . . .
ssasexp_search_widths_count . . . . .
ssasexp_search_widths_get . . . . . .
ssasexp_server_version_get . . . . . .
ssasexp_session_close . . . . . . . . . .
ssasexp_session_open . . . . . . . . . .
ssasexp_set_encoding . . . . . . . . . .
ssasexp_set_vpd_user . . . . . . . . .
ssasexp_system_close . . . . . . . . . .
ssasexp_system_idtname_count . . . .
ssasexp_system_idtname_get . . . . .
ssasexp_system_notify . . . . . . . . .
ssasexp_system_open . . . . . . . . . .
ssasexp_system_pid_searches_count .
ssasexp_system_pid_searches_get . .
ssasexp_system_search_finish . . . . .
ssasexp_system_search_start . . . . . .
ssasexp_system_searches_count . . . .
ssasexp_system_searches_get . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

478
479
480
480
481
481
482
483
483
484
484
485
486
487
487
488
488
489
489
490
491
492
493
494
494
495
495
496
497
498
499
499
501
502
503
503
504
505
505
506
507
507
508
508
509
509
510
510
511
512
512
513
514
515
515
18

ssasexp_systems_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ssasexp_systems_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling from PL/SQL
Constants . . . . . . . . . .
Requirements . . . . . . . .
Installation - Win32 Server .
Installation - UNIX Server .
Oracle 9.2 Notes . . . . . .
Parameter types . . . . . . .
ids_addr_get_cass_field . . . . . . . . .
ids_addr_get_cass_field_cnt . . . . . . .
ids_addr_get_cass_field_info . . . . . .
ids_addr_get_del_lines_ext . . . . . . .
ids_addr_get_field . . . . . . . . . . . .
ids_addr_get_field_count . . . . . . . .
ids_addr_get_field_ext . . . . . . . . . .
ids_addr_get_field_idx . . . . . . . . . .
ids_addr_get_field_info_ext . . . . . . .
ids_addr_get_field_len . . . . . . . . . .
ids_addr_get_line_len . . . . . . . . . .
ids_addr_get_option . . . . . . . . . . .
ids_addr_info . . . . . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . . . . . .
ids_addr_preload_country . . . . . . . .
ids_addr_set_attrib . . . . . . . . . . . .
ids_addr_set_del_lines . . . . . . . . . .
ids_addr_set_field_case . . . . . . . . .
ids_addr_set_field_ext . . . . . . . . . .
ids_addr_set_field_idx . . . . . . . . . .
ids_addr_set_field_name . . . . . . . . .
ids_addr_set_lines . . . . . . . . . . . . .
ids_addr_set_option . . . . . . . . . . .
ids_addr_std . . . . . . . . . . . . . . . .
ids_addr_validate . . . . . . . . . . . . .
ids_connect . . . . . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . . . . . .
ids_error_get . . . . . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . . . . . .
ids_identify . . . . . . . . . . . . . . . .
ids_is_little_endian . . . . . . . . . . . .
ids_match_explain . . . . . . . . . . . .
ids_match_explain_count . . . . . . . .
ids_pid_close . . . . . . . . . . . . . . .
ids_pid_member_count . . . . . . . . .
ids_pid_member_get . . . . . . . . . . .
ids_pid_open . . . . . . . . . . . . . . .
ids_pid_search_get . . . . . . . . . . . .
ids_pid_search_get_clusters . . . . . . .
ids_pid_src_pk_get . . . . . . . . . . . .
ids_pid_src_pk_start . . . . . . . . . . .
ids_ps_get_entity_list . . . . . . . . . . .
ids_ps_get_entity_max_elements . . . .
ids_ps_get_entity_max_length . . . . . .
ids_ps_parse . . . . . . . . . . . . . . . .
19

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

516
516
518
518
518
518
519
519
520
520
521
521
522
523
523
524
524
525
526
526
527
527
528
528
529
529
530
530
531
532
532
533
533
534
535
535
536
536
537
537
538
538
539
540
540
541
541
542
542
543
544
544
545
545
546

ids_ps_set_encoding . . . . . .
ids_ps_set_entity_list . . . . . .
ids_ps_set_population . . . . .
ids_real_time_async_get . . . .
ids_real_time_async_start . . .
ids_real_time_flul_add . . . . .
ids_real_time_flul_close . . . .
ids_real_time_flul_delete . . . .
ids_real_time_flul_find_rule . .
ids_real_time_flul_get_rule . .
ids_real_time_flul_init . . . . .
ids_real_time_sync_get . . . . .
ids_real_time_sync_start . . . .
ids_scores_get . . . . . . . . . .
ids_search_comment_get . . . .
ids_search_dedupe_start . . . .
ids_search_fields_count . . . .
ids_search_fields_get . . . . . .
ids_search_filter . . . . . . . . .
ids_search_finish . . . . . . . .
ids_search_get . . . . . . . . . .
ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

546
547
547
548
549
550
550
551
551
552
552
553
554
555
555
556
557
557
558
558
559
560
561
561
562
563
564
565
565
566
567
567
568
568
569
569
570
570
571
571
572
572
573
573
574
574
575
576
576
577
20

Calling from PowerBuilder


Constants . . . . . .
Parameter types . . .
ids_addr_get_cass_field . . . . .
ids_addr_get_cass_field_cnt . . .
ids_addr_get_cass_field_info . .
ids_addr_get_del_lines_ext . . .
ids_addr_get_field . . . . . . . .
ids_addr_get_field_count . . . .
ids_addr_get_field_ext . . . . . .
ids_addr_get_field_idx . . . . . .
ids_addr_get_field_info_ext . . .
ids_addr_get_field_len . . . . . .
ids_addr_get_line_len . . . . . .
ids_addr_get_option . . . . . . .
ids_addr_info . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . .
ids_addr_preload_country . . . .
ids_addr_set_attrib . . . . . . . .
ids_addr_set_del_lines . . . . . .
ids_addr_set_field_case . . . . .
ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_connect . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
21

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

578
578
578
578
579
579
580
581
581
582
582
583
584
584
585
585
586
586
587
587
588
588
589
590
590
591
591
592
593
593
594
594
595
595
596
596
597
598
598
599
599
600
600
601
602
602
603
603
604
604
605
605
606
607
608

ids_real_time_flul_close . . . .
ids_real_time_flul_delete . . . .
ids_real_time_flul_find_rule . .
ids_real_time_flul_get_rule . .
ids_real_time_flul_init . . . . .
ids_real_time_sync_get . . . . .
ids_real_time_sync_start . . . .
ids_scores_get . . . . . . . . . .
ids_search_comment_get . . . .
ids_search_dedupe_start . . . .
ids_search_fields_count . . . .
ids_search_fields_get . . . . . .
ids_search_filter . . . . . . . . .
ids_search_finish . . . . . . . .
ids_search_get . . . . . . . . . .
ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .
Calling from Visual Basic v6
Constants . . . .
ids_addr_get_cass_field . . .
ids_addr_get_cass_field_cnt .
ids_addr_get_cass_field_info
ids_addr_get_del_lines_ext .
ids_addr_get_field . . . . . .
ids_addr_get_field_count . .
ids_addr_get_field_ext . . . .
ids_addr_get_field_idx . . . .
ids_addr_get_field_info_ext .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

608
609
609
610
610
611
612
613
613
614
615
615
616
616
617
618
619
619
620
621
622
623
623
624
625
625
626
626
627
627
628
628
629
629
630
630
631
631
632
632
633
634
634
635

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

636
636
636
637
637
638
638
639
639
640
641

CONTENTS

22

ids_addr_get_field_len . . . . . .
ids_addr_get_line_len . . . . . .
ids_addr_get_option . . . . . . .
ids_addr_info . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . .
ids_addr_preload_country . . . .
ids_addr_set_attrib . . . . . . . .
ids_addr_set_del_lines . . . . . .
ids_addr_set_field_case . . . . .
ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_connect . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
23

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

641
642
642
643
643
644
644
645
645
646
646
647
647
648
649
649
650
650
651
651
652
652
653
653
654
655
655
655
656
656
657
658
658
659
659
660
660
661
661
662
662
663
664
664
665
665
666
666
667
668
669
669
670
671
671

ids_search_filter . . . . . . . . .
ids_search_finish . . . . . . . .
ids_search_get . . . . . . . . . .
ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

672
672
673
674
674
675
676
677
678
679
679
680
680
681
681
682
682
682
683
683
684
684
685
685
686
686
687
687
688
689
689
690

Calling from Visual Basic with an ActiveX Control


ids_disconnect . . . . . . . . . . . . . . . . . . . .
Constants . . . . . . . . . . . . . . .
Parameter types . . . . . . . . . . . .
ids_addr_get_cass_field . . . . . . . . . . . . . .
ids_addr_get_cass_field_cnt . . . . . . . . . . . .
ids_addr_get_cass_field_info . . . . . . . . . . .
ids_addr_get_del_lines_ext . . . . . . . . . . . .
ids_addr_get_field . . . . . . . . . . . . . . . . .
ids_addr_get_field_count . . . . . . . . . . . . .
ids_addr_get_field_ext . . . . . . . . . . . . . . .
ids_addr_get_field_idx . . . . . . . . . . . . . . .
ids_addr_get_field_info_ext . . . . . . . . . . . .
ids_addr_get_field_len . . . . . . . . . . . . . . .
ids_addr_get_line_len . . . . . . . . . . . . . . .
ids_addr_get_option . . . . . . . . . . . . . . . .
ids_addr_info . . . . . . . . . . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . . . . . . . . . . .
ids_addr_preload_country . . . . . . . . . . . . .
ids_addr_set_attrib . . . . . . . . . . . . . . . . .
ids_addr_set_del_lines . . . . . . . . . . . . . . .
ids_addr_set_field_case . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

691
691
691
691
692
692
693
693
694
695
695
696
696
697
697
698
698
699
699
700
700
701
702

CONTENTS

24

ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_connect . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .
ids_search_get_complete . . . . .
ids_search_get_detail . . . . . . .
ids_search_IDT_get . . . . . . . .
ids_search_layout . . . . . . . . .
ids_search_start . . . . . . . . . .
ids_search_tolerances_count . . .
ids_search_tolerances_get . . . .
25

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

702
703
703
704
704
705
706
706
707
707
708
708
708
709
710
710
710
711
712
712
713
713
714
714
715
715
716
716
717
717
718
718
719
720
720
721
721
722
722
723
724
725
725
726
727
727
728
728
729
730
731
731
732
734
734

ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

735
735
736
736
737
737
738
738
739
739
739
740
740
741
741
742
743
743
744
744
745
745

Calling from Visual Basic .NET


Constants . . . . . . . . .
Installation - Win32 client
Constructor . . . . . . . . . . . . . . .
addr_get_cass_field . . . . . . . . . . .
addr_get_cass_field_cnt . . . . . . . .
addr_get_cass_field_info . . . . . . . .
addr_get_del_lines_ext . . . . . . . . .
addr_get_field . . . . . . . . . . . . . .
addr_get_field_count . . . . . . . . . .
addr_get_field_ext . . . . . . . . . . .
addr_get_field_idx . . . . . . . . . . .
addr_get_field_info_ext . . . . . . . .
addr_get_field_len . . . . . . . . . . .
addr_get_line_len . . . . . . . . . . . .
addr_get_option . . . . . . . . . . . . .
addr_info . . . . . . . . . . . . . . . . .
addr_init . . . . . . . . . . . . . . . . .
addr_parse . . . . . . . . . . . . . . . .
addr_preload_country . . . . . . . . .
addr_set_attrib . . . . . . . . . . . . . .
addr_set_del_lines . . . . . . . . . . .
addr_set_field_case . . . . . . . . . . .
addr_set_field_ext . . . . . . . . . . . .
addr_set_field_idx . . . . . . . . . . .
addr_set_field_name . . . . . . . . . .
addr_set_lines . . . . . . . . . . . . . .
addr_set_option . . . . . . . . . . . . .
addr_std . . . . . . . . . . . . . . . . .
addr_validate . . . . . . . . . . . . . .
disconnect . . . . . . . . . . . . . . . .
error_get . . . . . . . . . . . . . . . . .
errors_get_all . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

747
747
747
748
748
749
749
750
750
751
751
752
753
753
754
754
755
755
756
756
757
757
758
758
759
760
760
761
761
762
763
763
764

CONTENTS

26

identify . . . . . . . . . . . . .
is_little_endian . . . . . . . .
match_explain . . . . . . . . .
match_explain_count . . . . .
pid_close . . . . . . . . . . . .
pid_member_count . . . . . .
pid_member_get . . . . . . .
pid_open . . . . . . . . . . . .
pid_search_get . . . . . . . . .
pid_search_get_clusters . . .
pid_src_pk_get . . . . . . . .
pid_src_pk_start . . . . . . . .
ps_get_entity_list . . . . . . .
ps_get_entity_max_elements
ps_get_entity_max_length . .
ps_parse . . . . . . . . . . . .
ps_set_encoding . . . . . . . .
ps_set_entity_list . . . . . . .
ps_set_population . . . . . . .
real_time_async_get . . . . . .
real_time_async_start . . . . .
real_time_flul_add . . . . . .
real_time_flul_close . . . . . .
real_time_flul_delete . . . . .
real_time_flul_find_rule . . .
real_time_flul_get_rule . . . .
real_time_flul_init . . . . . . .
real_time_sync_get . . . . . .
real_time_sync_start . . . . .
scores_get . . . . . . . . . . .
search_comment_get . . . . .
search_dedupe_start . . . . .
search_fields_count . . . . . .
search_fields_get . . . . . . .
search_filter . . . . . . . . . .
search_finish . . . . . . . . . .
search_get . . . . . . . . . . .
search_get_complete . . . . .
search_get_detail . . . . . . .
search_IDT_get . . . . . . . .
search_layout . . . . . . . . .
search_start . . . . . . . . . .
search_tolerances_count . . .
search_tolerances_get . . . . .
search_view_get . . . . . . . .
search_view_set . . . . . . . .
search_widths_count . . . . .
search_widths_get . . . . . . .
server_version_get . . . . . .
session_close . . . . . . . . . .
session_open . . . . . . . . . .
set_encoding . . . . . . . . . .
set_vpd_user . . . . . . . . . .
system_close . . . . . . . . . .
system_idtname_count . . . .
27

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

764
765
765
766
766
767
767
768
768
769
769
770
770
771
771
772
772
773
773
774
775
776
776
777
777
778
778
779
780
781
781
782
783
783
784
784
785
785
786
787
787
789
790
790
791
792
792
793
793
793
794
794
795
795
796

system_idtname_get . . . .
system_notify . . . . . . . .
system_open . . . . . . . . .
system_pid_searches_count
system_pid_searches_get . .
system_search_finish . . . .
system_search_start . . . . .
system_searches_count . . .
system_searches_get . . . .
systems_count . . . . . . . .
systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

796
797
797
798
798
799
799
800
801
801
802

Calling from Visual Basic with an ActiveX Control


Constants . . . . . . . . . . . . . . .
Parameter types . . . . . . . . . . . .
ids_connect . . . . . . . . . . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . . . . . . . . . . .
ids_addr_get_cass_field . . . . . . . . . . . . . .
ids_addr_get_cass_field_cnt . . . . . . . . . . . .
ids_addr_get_cass_field_info . . . . . . . . . . .
ids_addr_get_del_lines_ext . . . . . . . . . . . .
ids_addr_get_field . . . . . . . . . . . . . . . . .
ids_addr_get_field_count . . . . . . . . . . . . .
ids_addr_get_field_ext . . . . . . . . . . . . . . .
ids_addr_get_field_idx . . . . . . . . . . . . . . .
ids_addr_get_field_info_ext . . . . . . . . . . . .
ids_addr_get_field_len . . . . . . . . . . . . . . .
ids_addr_get_line_len . . . . . . . . . . . . . . .
ids_addr_get_option . . . . . . . . . . . . . . . .
ids_addr_info . . . . . . . . . . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . . . . . . . . . . .
ids_addr_preload_country . . . . . . . . . . . . .
ids_addr_set_attrib . . . . . . . . . . . . . . . . .
ids_addr_set_del_lines . . . . . . . . . . . . . . .
ids_addr_set_field_case . . . . . . . . . . . . . .
ids_addr_set_field_ext . . . . . . . . . . . . . . .
ids_addr_set_field_idx . . . . . . . . . . . . . . .
ids_addr_set_field_name . . . . . . . . . . . . . .
ids_addr_set_lines . . . . . . . . . . . . . . . . . .
ids_addr_set_option . . . . . . . . . . . . . . . .
ids_addr_std . . . . . . . . . . . . . . . . . . . . .
ids_addr_validate . . . . . . . . . . . . . . . . . .
ids_connect . . . . . . . . . . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . . . . . . . . . . .
ids_error_get . . . . . . . . . . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . . . . . . . . . . .
ids_identify . . . . . . . . . . . . . . . . . . . . .
ids_is_little_endian . . . . . . . . . . . . . . . . .
ids_match_explain . . . . . . . . . . . . . . . . .
ids_match_explain_count . . . . . . . . . . . . .
ids_pid_close . . . . . . . . . . . . . . . . . . . .
ids_pid_member_count . . . . . . . . . . . . . .
ids_pid_member_get . . . . . . . . . . . . . . . .
ids_pid_open . . . . . . . . . . . . . . . . . . . .
ids_pid_search_get . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

803
803
803
803
804
804
805
805
806
806
807
807
808
809
809
810
810
811
811
812
812
813
813
814
814
815
815
816
817
817
818
818
819
819
820
820
821
821
822
823
823
823
824
824

CONTENTS

28

ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .
ids_real_time_flul_find_rule . . .
ids_real_time_flul_get_rule . . .
ids_real_time_flul_init . . . . . .
ids_real_time_sync_get . . . . . .
ids_real_time_sync_start . . . . .
ids_scores_get . . . . . . . . . . .
ids_search_comment_get . . . . .
ids_search_dedupe_start . . . . .
ids_search_fields_count . . . . .
ids_search_fields_get . . . . . . .
ids_search_filter . . . . . . . . . .
ids_search_finish . . . . . . . . .
ids_search_get . . . . . . . . . . .
ids_search_get_complete . . . . .
ids_search_get_detail . . . . . . .
ids_search_IDT_get . . . . . . . .
ids_search_layout . . . . . . . . .
ids_search_start . . . . . . . . . .
ids_search_tolerances_count . . .
ids_search_tolerances_get . . . .
ids_search_view_get . . . . . . .
ids_search_view_set . . . . . . .
ids_search_widths_count . . . . .
ids_search_widths_get . . . . . .
ids_server_version_get . . . . . .
ids_session_close . . . . . . . . .
ids_session_open . . . . . . . . .
ids_set_encoding . . . . . . . . .
ids_set_vpd_user . . . . . . . . .
ids_system_close . . . . . . . . .
ids_system_idtname_count . . .
ids_system_idtname_get . . . . .
ids_system_notify . . . . . . . . .
ids_system_open . . . . . . . . .
ids_system_pid_searches_count .
ids_system_pid_searches_get . .
ids_system_search_finish . . . . .
ids_system_search_start . . . . .
ids_system_searches_count . . .
ids_system_searches_get . . . . .
29

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

825
826
826
827
827
828
828
829
829
830
830
831
832
832
833
833
834
834
835
836
837
837
838
839
839
840
840
841
842
842
843
844
845
846
847
847
848
848
849
849
850
850
850
851
851
852
852
853
853
854
854
855
855
856
857

ids_systems_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ids_systems_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling from Visual Basic with an ActiveX Control
Constants . . . . . . . . . . . . . . .
Parameter types . . . . . . . . . . . .
ids_connect . . . . . . . . . . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . . . . . . . . . . .
ids_addr_get_cass_field . . . . . . . . . . . . . .
ids_addr_get_cass_field_cnt . . . . . . . . . . . .
ids_addr_get_cass_field_info . . . . . . . . . . .
ids_addr_get_del_lines_ext . . . . . . . . . . . .
ids_addr_get_field . . . . . . . . . . . . . . . . .
ids_addr_get_field_count . . . . . . . . . . . . .
ids_addr_get_field_ext . . . . . . . . . . . . . . .
ids_addr_get_field_idx . . . . . . . . . . . . . . .
ids_addr_get_field_info_ext . . . . . . . . . . . .
ids_addr_get_field_len . . . . . . . . . . . . . . .
ids_addr_get_line_len . . . . . . . . . . . . . . .
ids_addr_get_option . . . . . . . . . . . . . . . .
ids_addr_info . . . . . . . . . . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . . . . . . . . . . .
ids_addr_preload_country . . . . . . . . . . . . .
ids_addr_set_attrib . . . . . . . . . . . . . . . . .
ids_addr_set_del_lines . . . . . . . . . . . . . . .
ids_addr_set_field_case . . . . . . . . . . . . . .
ids_addr_set_field_ext . . . . . . . . . . . . . . .
ids_addr_set_field_idx . . . . . . . . . . . . . . .
ids_addr_set_field_name . . . . . . . . . . . . . .
ids_addr_set_lines . . . . . . . . . . . . . . . . . .
ids_addr_set_option . . . . . . . . . . . . . . . .
ids_addr_std . . . . . . . . . . . . . . . . . . . . .
ids_addr_validate . . . . . . . . . . . . . . . . . .
ids_connect . . . . . . . . . . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . . . . . . . . . . .
ids_error_get . . . . . . . . . . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . . . . . . . . . . .
ids_identify . . . . . . . . . . . . . . . . . . . . .
ids_is_little_endian . . . . . . . . . . . . . . . . .
ids_match_explain . . . . . . . . . . . . . . . . .
ids_match_explain_count . . . . . . . . . . . . .
ids_pid_close . . . . . . . . . . . . . . . . . . . .
ids_pid_member_count . . . . . . . . . . . . . .
ids_pid_member_get . . . . . . . . . . . . . . . .
ids_pid_open . . . . . . . . . . . . . . . . . . . .
ids_pid_search_get . . . . . . . . . . . . . . . . .
ids_pid_search_get_clusters . . . . . . . . . . . .
ids_pid_src_pk_get . . . . . . . . . . . . . . . . .
ids_pid_src_pk_start . . . . . . . . . . . . . . . .
ids_ps_get_entity_list . . . . . . . . . . . . . . . .
ids_ps_get_entity_max_elements . . . . . . . . .
ids_ps_get_entity_max_length . . . . . . . . . . .
ids_ps_parse . . . . . . . . . . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . . . . . . . . . . .
ids_ps_set_entity_list . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

857
858
859
859
859
859
860
860
861
861
862
862
863
863
864
865
865
866
866
867
867
868
868
869
869
870
870
871
871
872
873
873
874
874
875
875
876
876
877
877
878
879
879
879
880
880
881
882
882
883
883
884
884
885
885
30

ids_ps_set_population . . . . .
ids_real_time_async_get . . . .
ids_real_time_async_start . . .
ids_real_time_flul_add . . . . .
ids_real_time_flul_close . . . .
ids_real_time_flul_delete . . . .
ids_real_time_flul_find_rule . .
ids_real_time_flul_get_rule . .
ids_real_time_flul_init . . . . .
ids_real_time_sync_get . . . . .
ids_real_time_sync_start . . . .
ids_scores_get . . . . . . . . . .
ids_search_comment_get . . . .
ids_search_dedupe_start . . . .
ids_search_fields_count . . . .
ids_search_fields_get . . . . . .
ids_search_filter . . . . . . . . .
ids_search_finish . . . . . . . .
ids_search_get . . . . . . . . . .
ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

886
886
887
888
888
889
889
890
890
891
892
893
893
894
895
895
896
896
897
898
898
899
900
901
902
903
903
904
904
905
905
906
906
906
907
907
908
908
909
909
910
910
911
911
912
913
913
914

Using MDM-RE with XML


WSDL . . . . . . . . . . . . . . . . . .
Creating a proxy with .NET . . . . .
Creating a proxy with Apache Axis2
XML and HTTP . . . . . . . . . . . .
XML and SOAP . . . . . . . . . . . .
XML and Unicode . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

915
915
915
915
915
916
918

31

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Parameter types . . .
ids_addr_get_cass_field . . . . .
ids_addr_get_cass_field_cnt . . .
ids_addr_get_cass_field_info . .
ids_addr_get_del_lines_ext . . .
ids_addr_get_field . . . . . . . .
ids_addr_get_field_count . . . .
ids_addr_get_field_ext . . . . . .
ids_addr_get_field_idx . . . . . .
ids_addr_get_field_info_ext . . .
ids_addr_get_field_len . . . . . .
ids_addr_get_line_len . . . . . .
ids_addr_get_option . . . . . . .
ids_addr_info . . . . . . . . . . .
ids_addr_init . . . . . . . . . . . .
ids_addr_parse . . . . . . . . . .
ids_addr_preload_country . . . .
ids_addr_set_attrib . . . . . . . .
ids_addr_set_del_lines . . . . . .
ids_addr_set_field_case . . . . .
ids_addr_set_field_ext . . . . . .
ids_addr_set_field_idx . . . . . .
ids_addr_set_field_name . . . . .
ids_addr_set_lines . . . . . . . . .
ids_addr_set_option . . . . . . .
ids_addr_std . . . . . . . . . . . .
ids_addr_validate . . . . . . . . .
ids_connect . . . . . . . . . . . . .
ids_disconnect . . . . . . . . . . .
ids_error_get . . . . . . . . . . . .
ids_errors_get_all . . . . . . . . .
ids_identify . . . . . . . . . . . .
ids_is_little_endian . . . . . . . .
ids_match_explain . . . . . . . .
ids_match_explain_count . . . .
ids_pid_close . . . . . . . . . . .
ids_pid_member_count . . . . .
ids_pid_member_get . . . . . . .
ids_pid_open . . . . . . . . . . .
ids_pid_search_get . . . . . . . .
ids_pid_search_get_clusters . . .
ids_pid_src_pk_get . . . . . . . .
ids_pid_src_pk_start . . . . . . .
ids_ps_get_entity_list . . . . . . .
ids_ps_get_entity_max_elements
ids_ps_get_entity_max_length . .
ids_ps_parse . . . . . . . . . . . .
ids_ps_set_encoding . . . . . . .
ids_ps_set_entity_list . . . . . . .
ids_ps_set_population . . . . . .
ids_real_time_async_get . . . . .
ids_real_time_async_start . . . .
ids_real_time_flul_add . . . . . .
ids_real_time_flul_close . . . . .
ids_real_time_flul_delete . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CONTENTS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

918
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
932
933
934
935
936
937
938
939
941
941
943
944
944
945
946
947
948
949
950
951
952
952
954
954
956
957
958
958
959
960
961
963
963
964
965
966
968
969
970
32

ids_real_time_flul_find_rule . .
ids_real_time_flul_get_rule . .
ids_real_time_flul_init . . . . .
ids_real_time_sync_get . . . . .
ids_real_time_sync_start . . . .
ids_scores_get . . . . . . . . . .
ids_search_comment_get . . . .
ids_search_dedupe_start . . . .
ids_search_fields_count . . . .
ids_search_fields_get . . . . . .
ids_search_filter . . . . . . . . .
ids_search_finish . . . . . . . .
ids_search_get . . . . . . . . . .
ids_search_get_complete . . . .
ids_search_get_detail . . . . . .
ids_search_IDT_get . . . . . . .
ids_search_layout . . . . . . . .
ids_search_start . . . . . . . . .
ids_search_tolerances_count . .
ids_search_tolerances_get . . .
ids_search_view_get . . . . . .
ids_search_view_set . . . . . .
ids_search_widths_count . . . .
ids_search_widths_get . . . . .
ids_server_version_get . . . . .
ids_session_close . . . . . . . .
ids_session_open . . . . . . . .
ids_set_encoding . . . . . . . .
ids_set_vpd_user . . . . . . . .
ids_system_close . . . . . . . .
ids_system_idtname_count . .
ids_system_idtname_get . . . .
ids_system_notify . . . . . . . .
ids_system_open . . . . . . . .
ids_system_pid_searches_count
ids_system_pid_searches_get .
ids_system_search_finish . . . .
ids_system_search_start . . . .
ids_system_searches_count . .
ids_system_searches_get . . . .
ids_systems_count . . . . . . .
ids_systems_get . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

971
971
972
973
974
976
977
978
979
980
981
982
983
984
986
987
988
989
991
992
993
994
995
996
997
998
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013

Common Parameters
1014
Verbosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
Address Standardization
Initialization . . . . . . . . . . . .
Character Sets and Countries . .
Providing an Input Address
Parsing an Address . . . . . . . .
Validating an Address . . . . . .
Retrieving Address Fields . . . .
Setting Options . . . . . . .
Getting Options . . . . . . .
Sample Code . . . . . . . . .
33

CONTENTS

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

1015
1015
1015
1021
1022
1023
1025
1027
1028
1028

Validation Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028


ASM configuration for AddressDoctor v5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
Batch Test Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
AnswerSet
Table Name and Index . . .
Table Layout . . . . . . . . .
Adding Rows . . . . . . . .
Clearing the Table . . . . . .
Relate & DupFinder Set-Ids
Oracle RAC . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

1034
1034
1034
1034
1035
1035
1035

DupFinder
1036
AnswerSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037
Match Explain API
1038
Match Explain Record Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
Match Explain Scores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039
Index

1040

CONTENTS

34

Introduction
This manual describes how to develop a custom search client application using the API.
Prototype search clients are provided in the following languages:

C#

Cobol

Java

Perl

PL/SQL

MS SQL

PowerBuilder

Visual Basic 6

Visual Basic .NET

ActiveX controls are provided for:

Cold Fusion

Visual Basic 6

35

INTRODUCTION

Process Overview
Concepts
Connections
The ids_connect and ids_disconnect API calls are used to establish / terminate a connection
(TCP/IP socket) to the "server". The "server" can be either the Search Server or Connection Server,
depending on the host name and host port parameters supplied on the connection call.

Sessions
Use of the Connection Server is optional. Refer to the O PERATIONS manual, Servers chapter for details
about the Connection Server and why you might want to use it.
If it is used, you must establish a "session" with the Connection Server using the ids_session_open
API.
Sessions may be closed explicitly using the ids_session_close API, or can be timed-out by the
Connection Server if they have been inactive for the defined time-out period.

Systems
The ids_system_open and ids_system_close calls are used to inform the server which System
will be used for subsequent search calls. Switching between different Systems incurs a slight overhead,
as the Rulebase must be consulted to read the rules for the new System.

Searches
Searches are started with ids_search_start. This call performs all of the work necessary to find
candidates and match them against the search record. The resulting set of records is created and sorted.
The call returns the number of records in the resulting set.
The results may be written to a database table known as an AnswerSet , or may be retrieved using
ids_search_get. The latter API is called repeatedly to retrieve records from the result set one at a
time.
Once enough rows have been retrieved, any remaining resources held by the server for this search are
freed using ids_search_finish.
Note: The first search for a given System incurs an additional overhead to allocate database resources
and access the Rulebase. Switching between searches on a particular connection is equivalent to starting
a new search and therefore incurs some overhead. Applications requiring the best possible search
performance should be architected to avoid switching between searches. The easiest way to do this is
to use separate (dedicated) connections for each Search.

Basic API
The Basic API is suitable for processing a simple one-off query. It combines opening the System with
starting a search. It also combines terminating a search and closing a System in one call.
36

Use the Advanced API if you wish to start multiple searches for the same System.
The flow of the Basic API is
1. Open a connection (ids_connect)
2. Initiate a search (ids_system_search_start)
3. Retrieve sorted search results (ids_search_get) until required buffer is filled (this may be a
screens worth, or a pre-determined search limit size).
4. Process the search results (display to a screen or write to a file)
5. End the search (ids_system_search_finish)
6. Close the connection (ids_disconnect)

Advanced API
The Advanced API is more efficient than the Basic API but requires the use of two extra calls. It is
suited to applications that wish to perform multiple searches for a given System.
The flow of the more advanced level is
1. Open a Socket (ids_connect)
2. Optionally start a Session (ids_session_open)
3. Open a System (ids_system_open)
4. Initiate a Search (ids_search_start)
5. Retrieve sorted search results (ids_search_get) until required buffer is filled (this may be a
screens worth, or a pre-determined search limit size).
6. Process the search results (display to a screen or write to a file)
7. End the search (ids_search_finish)
8. Optionally return to 4. to start more searches
9. Close the system (ids_system_close)
10. Optionally close the session (ids_session_close)
11. Close the socket (ids_disconnect)
Other functions are available through this level of the API allowing the search client to be more rulesensitive. For example, the length of a record to be returned in the search results can be determined
with an ids_search_view_get call which is followed by a call to ids_search_layout. This may
assist the clients dynamic memory allocation.

37

PROCESS OVERVIEW

Sample API Programs


Sample client programs are provided for all supported API languages. All sample programs use the
same System (and data) and demonstrate the same logical sequence of API calls.

Sample System
All sample programs use the same System (ssa001). This is provided as an SDF.

Directory Structure
The sample System, programs and data are located in the samples directory of the Client and Developer Components installation directory. The following directory structure exists:
samples/
data/
f5000.txt
programs/
applet/
c/
cobol/
coldfsn/
csharp/
java/
mssql/
oraplsql/
pb/
perl/
perl-oo/
vb6/
vbnet/
system/
ssa001.sdf

Population
The sample System uses the same population as the MDM-RE Installation test. The SSA-NAME3 System is named mdm-reXXXX, where XXXX is the release number of MDM-RE. The Population is named
test.

Installing


Launch MDM-RE Console and choose New from the System menu.

Choose Create a system from an SDF and click OK.

Enter ssa001 as the system name, and %SSATOP%\samples\system\ssa001.sdf as the System


Definition File (where %SSATOP% is the directory that the Client and Developer Components were
installed into - by default, c:\InformaticaIR).

Fill out your database details and click OK.


38

Click Close when the system has been created.

Under the System menu, choose Select, then ssa001 and click OK.

Under the System menu, choose Load IDT, then ssa001 and click OK.

Your MDM-RE installation is now ready to run the samples.

IDT Layout
The IDT has the following layout. Records passed to ids_search_start must be preformatted by
the caller in this layout.
Name

Offset

Length

11

name

11

50

DOB

61

Address

69

40

ID

IDT record length is 109 bytes.

Building the Programs


(Instructions and files are only provided for the WINDOWS environment. Unix users will need to
adjust this section accordingly).
To build the sample applications you will need to establish the client environment by running <MDMRE Client Install Dir>\env\issc.bat.
Once your environment is established, simply run compile.bat in the subdirectory of the sample you
wish to build. The batch file assumes that the compilers are in your PATH. You will need to adjust your
PATH environment variable if they are not.
Note that ColdFusion, Perl and Oracle PL/SQL are either interpreted or compiled at runtime, so no
compile.bat file exists for these.

Language specific notes


C Ensure that cl.exe can be found in your path, and that the INCLUDE and LIB environment variables are set correctly.
C# Ensure that csc.exe can be found in your PATH.
VB6 & VB6OCX Ensure that vb6.exe and editbin.exe can be found in your PATH.
VB.NET Ensure that vbc.exe can be found in your PATH.
PB Does not have a batch file to perform compilation. It can be built through the PowerBuilder IDE.
Open the work space for the sample then add the MDM-RE PowerBuilder Dynamic Library to the
library list (ids.pbd). Select the project in the system tree then select deploy project from the design
menu. Change the location of the executable file and save the project. Then perform Building and
Deployment from the run menu.
39

SAMPLE API PROGRAMS

Running the Samples


The commands below illustrate how to run the samples.
The <RULEBASE> parameter defines which Rulebase to use and is formatted as type:method:details, eg.
odb:0:user/password@hostname
The <HOST> field is formatted as hostname:port, eg. localhost:1666
Sample 1 expects the host parameter to point to the Search Server, while Sample 2 expects the host
parameter to point to the Connection Server.
The <WORKDIR> parameter defines which working directory to use.
The <SYSTEM> parameter defines the name of the system in the rulebase.

C
sample1 -r<RULEBASE> -h<HOST>
sample2 -r<RULEBASE> -h<HOST>
pidsearch -r<RULEBASE> -h<HOST> -p<SYSTEM> [-w<WORKDIR>]

Note: the C examples use the API stub DLL ssasec.dll and the MDM-RE socket interface
provided by ssaiok.dll. These dynamic link libraries are packaged in the MDM-RE Client
bin and SSA-NAME3 bin directory respectively. Make sure these directories are in your
PATH before running the samples.

ColdFusion
Copy the contents of the coldfsn directory to a directory in your webserver root. Next, copy and
register the ColdFusion ActiveX control on your machine:
copy %SSATOP%\vb\ssasecf.ocx %SystemRoot%\system32
regsvr32 %SystemRoot%\system32\ssasecf.ocx

You can now execute the scripts by pointing a web browser at the following URLs:

C#
Load the .NET assembly into the system cache:
gacutil /i %SSATOP%\bin\ssasecs.dll

You can now execute the programs as follows:


sample1 -r<RULEBASE> -h<HOST>
sample2 -r<RULEBASE> -h<HOST>
PIDSearch -r<RULEBASE> -h<HOST> -p<SYSTEM> [-w<WORKDIR>]

Sample System

40

Java
Add %SSATOP%\bin\idsclie.jar;%SSATOP%\bin\idssecl.jar;. to your CLASSPATH environment variable. Then run
java Sample1 -r<RULEBASE> -h<HOST>
java Sample2 -r<RULEBASE> -h<HOST>
PIDSearch -r<RULEBASE> -h<HOST> -p<SYSTEM> [-w<WORKDIR>]

MS SQL
Copy the DLL ssasexp.dll, to the directory containing the standard SQL server DLL
files (C:\Program Files\Microsoft SQL Server\MSSQL\Binn for MS SQL 2000). Copy
ssaiok.dll and ssasec.dll into a directory on the MS SQL servers default path.
To install the DLL, from the %SSATOP%\MSSQL directory run:
osql -U sa -P password -S service -n -i ssasexp.sql

To execute the samples use:


osql -U user -P password -S service -n -i sample.sql

Perl
perl sample1 -r<RULEBASE> -h<HOST>
perl sample2 -r<RULEBASE> -h<HOST>
perl pidsearch -r<RULEBASE> -h<HOST> -p<SYSTEM> [-w<WORKDIR>]

Oracle and PL/SQL


Copy %SSATOP%\bin\ssasep.dll and <SSA-NAME3 directory>\bin\ssaiok.dll to your Oracle
server bin directory. Execute the following SQL command:
CREATE OR REPLACE LIBRARY SSA_SSASE IS <path>\ssasep.dll;

Execute the following SQL scripts found in the bin directory of the Server installation:
ssasep.sql
ssaseb.sql
idsconv.sql
ssasec.sql
Edit sample1.sql and sample2.sql, replacing the connection information at the bottom with your
local details.
You can now run sample1.sql and sample2.sql.
41

SAMPLE API PROGRAMS

Power Builder
sample1 <OUTPUTFILE> -r<RULEBASE> -h<HOST>
sample2 <OUTPUTFILE> -r<RULEBASE> -h<HOST>

VB6
sample1 -r<RULEBASE> -h<HOST> [-o<OUTPUTFILE>]
sample2 -r<RULEBASE> -h<HOST> [-o<OUTPUTFILE>]

VB6 OCX
sample1 -r<RULEBASE> -h<HOST> [-o<OUTPUTFILE>]
sample2 -r<RULEBASE> -h<HOST> [-o<OUTPUTFILE>]

VB.NET
Load the .NET assembly into the system cache:
gacutil /i %SSATOP%\bin\ssasecs.dll

You can now execute the programs as follows:


sample1 -r<RULEBASE> -h<HOST>
sample2 -r<RULEBASE> -h<HOST>

Sample 1 - Basic API


Sample 1 demonstrates the use of the Basic API calls. It also demonstrates how to start a search with
an array of field values.

Logic
Open a socket to the Search Server


API call: ids_connect

This opens a socket (communication channel) to the Search Server using TCP/IP.

The Servers host name (or IP address) and port number (1666 by default) are specified as parameters
to this call.


The Search Server is used instead of the Connection Server because this sample does not make use of
the sessions (refer the Sample 2 for an example of how to use sessions).


The call returns a socket handle that must be used on subsequent API calls to communicate over the
same channel.

Sample 1 - Basic API

42

Open a System and start a Search




API call: ids_system_search_start

This call opens a System in preparation for a single search.

The name of a valid Search-Definition defined in the System is used to initialize a Search.

The search fields used in this example are passed to MDM-RE using a Block Array.

MDM-RE will build a set of file records that match the search record and sort them in descending
order of score (by default). The API call will return a count of the number of records in the result set.


Retrieve Result Set




API call: ids_search_get

This API is called repeatedly to retrieve one file record at a time.

Each record returned is in IDT format by default.

 Records can be returned using an output view by calling ids_IDT_views_output_set prior to


starting the search.

Response code 1 is returned when the End-Of-Set has been reached.

It is not mandatory to retrieve all records from the result set (although it would be unusual not to).

Terminate the Search and close the System




API call: ids_system_search_finish

This releases resources held by the Search Server for the Search and System.

Disconnect from the Search Server




API call: ids_disconnect

Closes the socket connection to the Server.

Sample 2 - Advanced API


Sample 2 demonstrates the use of the Advanced API to make slightly more complex (but more efficient)
API calls. It demonstrates the use of sessions and how to start a search with a pre-constructed search
record.

Logic
Open a socket to the Connection Server


API call: ids_connect

This opens a socket (communication channel) to the Connection Server using TCP/IP.

The host name (or IP address) and port number (1667 by default) of the Connection Server are specified as parameters to the call.


43

SAMPLE API PROGRAMS

The Connection Server should be running on the same machine as the client application program (for
maximum performance).


The Connection Server is used instead of the Search Server because this sample will make use of
sessions; a facility implemented by the Connection Server.


The call returns a socket handle that must be used on subsequent API calls to communicate over the
same channel.


Open a Session


API call: ids_session_open

This API call is used to establish a new session with the Connection Server or to reopen an existing
session (created by a previous call).


Specify a session number of -1 to create a new session, or the existing session number to reopen a
previously created session.


Sessions are used to identify resources on the Search Server and to keep them open even when the
client application disconnects from the Connection Server.


Stateless Web based transactions can store/retrieve the session number using a cookie.

Open a System


API call: ids_system_open

This call retrieves the Systems rules from the Rulebase and prepares for making multiple searches.

This is a relatively expensive operation so it is beneficial to reduce the number of times a system is
opened/closed and/or switched.


Retrieve the Input-View layout




API call: ids_search_view_get

This returns the name, number of fields and record length of the current input-view associated with
this Search.


This followed by a call to ids_search_layout

It returns arrays describing the field names, lengths and offsets. As no input (or output) views have
been explicitly set, both views use the default format, which is the IDT layout.


This information is typically used to allocate appropriately sized buffers and/or prompt a client for
search data.


for each Search




Get input data for each field required for search

Start a Search


API call: ids_search_start

An input record is constructed from the search data. It must match the layout of the input-view.
Sample 2 - Advanced API

44

Retrieve Result Set




API call: ids_search_get

This API is called repeatedly to retrieve one record at a time.

Each record returned is in IDT format.

Response code 1 is returned when the End-Of-Set has been reached.

It is not mandatory to retrieve all records from the result set (although it would be unusual not to).

Terminate Search


API call: ids_system_search_finish

This releases resources held by the Search Server for the Search and System.

End-Loop

Close System


API call: ids_system_close

Frees resources held on Search Server.

Close Session (optional)




API call: ids_session_close

This call instructs the Connection Server to free resources held on the Search Server and to invalidate
the session number.


A stateless Web based search will not issue this call unless it will definitely not attempt to reconnect
to the Connection Server using the same session number.


Sessions that have not been closed explicitly with this call will be timed-out (closed) if they remain
inactive for the designated time-out period of the Connection Server.


Disconnect from the Connection Server




API call: ids_disconnect

Closes the socket connection to the Server.

PIDSearch - Persistance ID search API


PIDSearch sample demonstrates the use of search using persistent ID based multi-searches available in
the system.
45

SAMPLE API PROGRAMS

Logic
Open a socket to the Search Server


API call: ids_connect

This opens a socket (communication channel) to the Search Server using TCP/IP.

The Servers host name (or IP address) and port number (1666 by default) are specified as parameters
to this call.


The call returns a socket handle that must be used on subsequent API calls to communicate over the
same channel.

Open a System


API call: ids_system_open

This call retrieves the Systems rules from the Rulebase and prepares for making multiple searches.

This is a relatively expensive operation so it is beneficial to reduce the number of times a system is
opened/closed and/or switched.


Identify the persistent ID search to use




API call: ids_system_pid_searches_count

This call retrieves number of persistent ID based multi-searches defined on a system.

Allocate the area into which an array of the persistent ID based multi-searches defined on the rulebase
will be copied.


List all persistent ID based multi-searches defined.

API call: ids_system_pid_searches_get

This call retrieves the names of all persistent ID based multi-searches defined on the system.

Display the PID search names on the screen and prompt the user to select the PID search name.

Use this PID search to identify the runnable search to use.

Get name of the IDT associated with the PID search




API call: ids_search_IDT_get

This call retreives the name of the IDT associated with the PID search.

IDT name is use to get the searches defined in the system with the same IDT name.

Identify the runnable search to use




API call: ids_system_searches_count

This call retrieves number of searches defined on the system.

Allocate the area into which an array of the searches defined on the rulebase will be copied.
PIDSearch - Persistance ID search API

46

Get the runnable searches defined on the system.

API call: ids_system_searches_get

This call retreives the names of all defined runnable searches.

Walk through the runnable searches and select the runnable search which has same IDT name of PID
search.


API call: ids_search_IDT_get to get the IDT name of the runnable search and compare it with
the IDT name of PID search.


List all valid runnable searches on the screen and prompt the user to select the runnable search.

Construct search record




Retreive number of fields required for searching.

API call: ids_search_fields_count

Allocate memory for field names arrays using number of fields.

Retreive names of the fields required for searching.

API call: ids_search_fields_get

Use field names to prompt the user for search values.

Read the search values for the required field names.

Save the search values into search records.

Retrieve the Input-View layout




API call: ids_search_view_get

This returns the name, number of fields and record length of the current input-view associated with
this Search.


This followed by a call to ids_search_layout

It returns arrays describing the field names, lengths and offsets. As no input (or output) views have
been explicitly set, both views use the default format, which is the IDT layout.


This information is typically used to allocate appropriately sized buffers and/or prompt a client for
search data.


Start a search


API call: ids_search_start

Starts a search using constructed search records.

Get preferred records




API call: ids_pid_search_get

Get preferred records which are a good match for the search record specified in the
ids_search_start


47

SAMPLE API PROGRAMS

For each record in preferred records




Display information about matching record found, its score and fields information.

Show clusters


Retrieve the clusters associated with the preferred records.

API call: ids_pid_search_get_clusters

For each prefix for the associated cluster:


Display prefix and cluster number.
Retrieve number of member records in the cluster.
API call: ids_pid_member_count
Retrieve the member records for the cluster in a loop, until end of set.
API call: ids_pid_member_get
Display each member record.

End Loop
Finish Search


API call: ids_search_finish

This releases resources held by the ids_search_start.

Terminate the Search and close the System




API call: ids_system_search_finish

This releases resources held by the Search Server for the Search and System.

Disconnect from the Search Server




API call: ids_disconnect

Closes the socket connection to the Server.

PIDSearch - Persistance ID search API

48

API Reference
The API allows user written application programs to access functions that provide name-searching
facilities over a network.
The API functions are callable from C, C#, Java, Perl and other Application Languages capable of calling
a DLL. It is also available as an ActiveX control for use in languages such as Visual Basic.
The API is thread safe with the following exception: each thread must establish its own connection to
the Search Server. The behavior of the API with multiple threads accessing the same connection to the
Search Server is undefined.

Data Types
The section discusses the MDM-RE data types used in this document. The Language Specific Bindings
section describes the mapping between the MDM-RE data types and the native data types used for
specific programming languages.

Strings
The String data-type is a variable length piece of memory, terminated with a NUL character (0x00).
When using a String as an input parameter there is no need to explicitly tell MDM-RE how long it is
because MDM-RE can detect its length.
When the API returns a String as an output parameter, the caller must allocate memory for it and
in some programming languages, tell MDM-RE how long it is. For example, in C it is not possible to
detect how long a piece of memory is, so the caller must pass two parameters:

the address of the memory, and

its length.

MDM-RE uses this information to prevent overwriting unallocated memory (which would result in
GPF or core dump).

String Arrays
A StringArray is an array of Strings. It consists of an array of pointers, with each pointer pointing to
a String. A String Array is usually passed through the API using three parameters:

address of the array of pointers,

number of pointers in the array, and

the length of each String.

Note that since there is provision for only one length value, all Strings must be the same length.
49

API REFERENCE

Blocks
A Block data-type is a fixed length piece of memory. It is not NUL terminated. If a value is not long
enough to fill the entire Block, the Block should be padded with spaces on the right. Since MDM-RE
cannot detect how long the memory is, Blocks are usually passed through the API using two parameters:

a pointer to the memory, and

the length of the Block.

Block Arrays
A BlockArray is an array of Blocks. It consists of an array of pointers, with each pointer pointing to a
Block. A Block Array is usually passed through the API using three parameters:

address of the array of pointers,

number of pointers in the array, and

the length of each Block.

Note that since there is provision for only one length value, all Blocks must be the same length.

Nulls and NULs


Some programming languages permit the use of Null pointers (such as C). Null pointers must never be
passed as arguments to any API functions. If you do not wish to provide a value for an argument, use
a NUL terminated (0x00) string instead (a zero-length, empty string).

Error Handling
An API program that receives a negative response code from a call should retrieve the associated error
messages from the Server and log them.
The API function ids_errors_get_all is called repeatedly to retrieve one message at a time. It
returns a positive response code when there are no more messages left to retrieve.

Error Handling

50

Calling from C
For Win32, the C API functions are prototyped in %SSAINC%\ssasecl.h. An import library
%SSALIB%\stssasec.lib is used to link to the application. At run time it will dynamically load
ssasec.dll and ssaiok.dll from the MDM-RE Client bin and SSA-NAME3 bin directories respectively.
For Unix, the C API functions are prototyped in $SSAINC/ssasecl.h and shared libraries are found
in $SSABIN (libssasec.so and libssaiok.so).
The functions return a response code. A negative response code indicates a transport error, after which
the communication channel is closed and no further API calls can be made without reconnecting.

Constants
Constants are declared as #defines, in uppercase using underscores. Constants are prefixed with SSA_,
eg. SSA_MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d (
long
sockh ,
long
suggest_idx ,
long
field_idx ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//

Long i n
Long i n
Long i n
Block out

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value
51

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t (
long
sockh ,
/ / Long i n
long count
/ / Long o u t
);

Parameters:
sockh is the socket to use for the call
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o
long
sockh ,
//
long
suggest_idx ,
//
long f i e l d _ l e n g t h ,
//
long
f ie l d_ l en gt h _n u m
);

(
Long i n
Long i n
LongArray o u t

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field
ids_addr_get_cass_field_cnt

52

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
long i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t
long
sockh ,
long
suggest_idx ,
long
del_case ,
char d e l _ l i n e 1 ,
long
del_line1_size ,
char d e l _ l i n e 2 ,
long
del_line2_size ,
char d e l _ l i n e 3 ,
long
del_line3_size ,
char d e l _ l i n e 4 ,
long
del_line4_size ,
char d e l _ l i n e 5 ,
long
del_line5_size ,
char d e l _ l i n e 6 ,
long
del_line6_size
);

(
//
//
//
//

Long i n
Long i n
Long i n
Block out

/ / Block out
/ / Block out
/ / Block out
/ / Block out
/ / Block out

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
53

CALLING FROM C

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d (
long
sockh ,
long
suggest_idx ,
long
field_idx ,
char f i e l d _ v a l u e ,
long
field_value_size
long f i e l d _ v a l _ s t a t u s
long f i e l d _ v a l _ m o d s
);

/ / Long i n
/ / Long i n
/ / Long i n
/ / Block out
,
, / / Long o u t
/ / Long o u t

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ c o u n t (
long
sockh ,
/ / Long i n
long count
/ / Long o u t
);
ids_addr_get_field

54

Parameters:
sockh is the socket to use for the call
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ e x t (
long
sockh ,
long
suggest_idx ,
long
field_operation ,
char field_name ,
long
field_item_line ,
char f i e l d _ t y p e ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//
//
//
//

Long i n
Long i n
Long i n
String in
Long i n
String in
Block out

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success
55

CALLING FROM C

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ i d x (
long
sockh ,
long
suggest_idx ,
long
field_idx ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//

Long i n
Long i n
Long i n
Block out

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t (
long
sockh ,
/ / Long i n
long
suggest_idx ,
/ / Long i n
long f i e l d _ l e n g t h ,
/ / LongArray o u t
long
field_length_num ,
char addr_label_encoded , / / B l o c k o u t
long
addr_label_encoded_size ,
char a d d r _ l a b e l _ c h a r s e t , / / S t r i n g o u t
long
addr_label_charset_size ,
long s c o r e
/ / Long o u t
);
ids_addr_get_field_idx

56

Parameters:
sockh is the socket to use for the call
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ l e n (
long
sockh ,
long max_len
);

/ / Long i n
/ / Long o u t

Parameters:
sockh is the socket to use for the call
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.
57

CALLING FROM C

Prototype:
long i d s _ a d d r _ g e t _ l i n e _ l e n (
long
sockh ,
long max_len
);

/ / Long i n
/ / Long o u t

Parameters:
sockh is the socket to use for the call
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
long i d s _ a d d r _ g e t _ o p t i o n (
long
sockh ,
char param ,
char value ,
long
value_size
);

/ / Long i n
/ / String in
/ / String out

Parameters:
sockh is the socket to use for the call
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.
ids_addr_get_option

58

Prototype:
long i d s _ a d d r _ i n f o (
long
sockh ,
char c o n t r o l s ,
char value ,
long
value_size
);

/ / Long i n
/ / String in
/ / String out

Parameters:
sockh is the socket to use for the call
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
long i d s _ a d d r _ i n i t (
long
sockh ,
long
max_memory
);

/ / Long i n
/ / Long i n

Parameters:
sockh is the socket to use for the call
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx
59

CALLING FROM C

Prototype:
long i d s _ a d d r _ p a r s e (
long
sockh ,
/ / Long i n
long f i e l d _ l e n g t h ,
/ / LongArray o u t
long
f ie l d_ l en gt h _n u m
);

Parameters:
sockh is the socket to use for the call
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
long i d s _ a d d r _ p r e l o a d _ c o u n t r y (
long
sockh ,
char preload_type ,
char preload_country
char val_mode
);

//
//
, //
//

Long i n
String in
String in
String in

Parameters:
sockh is the socket to use for the call
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
ids_addr_preload_country

60

from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
long i d s _ a d d r _ s e t _ a t t r i b (
long
sockh ,
/ / Long i n
char c h a r _ s e t ,
/ / String in
char d e f a u l t _ c o u n t r y / / S t r i n g i n
);

Parameters:
sockh is the socket to use for the call
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
long i d s _ a d d r _ s e t _ d e l _ l i n e s (
long
sockh ,
char d e l _ l i n e 1 ,
long
del_line1_size
char d e l _ l i n e 2 ,
long
del_line2_size
char d e l _ l i n e 3 ,
long
del_line3_size
char d e l _ l i n e 4 ,
long
del_line4_size
char d e l _ l i n e 5 ,
long
del_line5_size
char d e l _ l i n e 6 ,
long
del_line6_size
);

/ / Long i n
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in

Parameters:
sockh is the socket to use for the call
del_line1 delivery address line 1 input string
61

CALLING FROM C

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ c a s e (
long
sockh ,
long
field_idx ,
long
field_case
);

/ / Long i n
/ / Long i n
/ / Long i n

Parameters:
sockh is the socket to use for the call
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields
ids_addr_set_field_case

62

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ e x t (
long
sockh ,
long
field_operation ,
char field_name ,
long
field_item_line ,
char f i e l d _ t y p e ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//
//
//

Long i n
Long i n
String in
Long i n
String in
Block in

Parameters:
sockh is the socket to use for the call
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ i d x (
long
sockh ,
/ / Long i n
long
field_idx ,
/ / Long i n
char f i e l d _ v a l u e ,
/ / Block in
long
field_value_size
);

Parameters:
sockh is the socket to use for the call
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field
63

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ n a m e (
long
sockh ,
/ / Long i n
char field_name ,
/ / String in
char f i e l d _ v a l u e ,
/ / Block in
long
field_value_size
);

Parameters:
sockh is the socket to use for the call
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
long i d s _ a d d r _ s e t _ l i n e s (
long
sockh ,
char l i n e _ 1 ,
long
line_1_size
char l i n e _ 2 ,
long
line_2_size
char l i n e _ 3 ,
long
line_3_size
char l i n e _ 4 ,
long
line_4_size
char l i n e _ 5 ,

/ / Long i n
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
ids_addr_set_field_name

64

long
char
long
char
long
char
long
char
long
char
long

line_5_size ,
line_6 ,
line_6_size ,
line_7 ,
line_7_size ,
line_8 ,
line_8_size ,
line_9 ,
line_9_size ,
line_10 ,
line_10_size

/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in

);

Parameters:
sockh is the socket to use for the call
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
long i d s _ a d d r _ s e t _ o p t i o n (
long
sockh ,
char param ,
char value
);
65

CALLING FROM C

/ / Long i n
/ / String in
/ / String in

Parameters:
sockh is the socket to use for the call
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
long i d s _ a d d r _ s t d (
long
sockh ,
//
char firm_name ,
//
long
firm_name_size ,
char u r b a n i z a t i o n ,
//
long
urbanization_size ,
char address_one ,
//
long
address_one_size ,
char address_two ,
//
long
address_two_size ,
char l a s t _ l i n e ,
//
long
last_line_size
);

Long i n
String io
String io
String io
String io
String io

Parameters:
sockh is the socket to use for the call
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).
ids_addr_std

66

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
long i d s _ a d d r _ v a l i d a t e (
long
sockh ,
long s t a t u s ,
long n_suggest
);

/ / Long i n
/ / Long o u t
/ / Long o u t

Parameters:
sockh is the socket to use for the call
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.

Prototype:
long i d s _ c o n n e c t (
char host ,
long
port ,
long sockh
);

Parameters:
host is the host to connect to.
67

CALLING FROM C

/ / String in
/ / Long i n
/ / Long o u t

port is the port to connect to.


sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
long i d s _ d i s c o n n e c t (
long
sockh
);

/ / Long i n

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
long i d s _ e r r o r _ g e t (
long
sockh ,
char msg ,
long
msg_size
);

/ / Long i n
/ / String out

Parameters:
sockh is the socket to use for the call
msg is the error message returned
ids_disconnect

68

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
long i d s _ e r r o r s _ g e t _ a l l (
long
sockh ,
char msg ,
long
msg_size
);

/ / Long i n
/ / String out

Parameters:
sockh is the socket to use for the call
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console

Prototype:
long i d s _ i d e n t i f y (
long
sockh ,
char i d e n t i f i c a t i o n
);

/ / Long i n
/ / String in

Parameters:
sockh is the socket to use for the call
identification is user supplied identitification for display on the console
69

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
long i d s _ i s _ l i t t l e _ e n d i a n (
long
sockh ,
long e n d i a n _ s t a t e
);

/ / Long i n
/ / Long o u t

Parameters:
sockh is the socket to use for the call
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
long i d s _ m a t c h _ e x p l a i n (
long
sockh ,
char search ,
char m a t c h _ t o l e r a n c e
char s e a r c h r e c ,
long
searchrec_size ,
char f i l e r e c ,
long
filerec_size ,
char i n f o _ a r r a y ,
long
info_array_num ,
long
info_array_size
);

//
//
, //
//

Long i n
String in
String in
Block in

/ / Block in
/ / BlockArray out

ids_is_little_endian

70

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
long i d s _ m a t c h _ e x p l a i n _ c o u n t (
long
sockh ,
char search ,
long count
);

/ / Long i n
/ / String in
/ / Long o u t

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.
71

CALLING FROM C

Prototype:
long i d s _ p i d _ c l o s e (
long
sockh
);

/ / Long i n

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
long ids_pid_member_count (
long
sockh ,
char p r e f i x ,
long
prefix_size ,
long
cluster_num ,
long count
);

/ / Long i n
/ / Block in
/ / Long i n
/ / Long o u t

Parameters:
sockh is the socket to use for the call
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
ids_pid_member_count

72

Prototype:
long ids_pid_member_get (
long
sockh ,
char p r e f i x ,
long
prefix_size ,
long
cluster_num ,
char record ,
long
record_size ,
long r e c i d
);

/ / Long i n
/ / Block in
/ / Long i n
/ / Block out
/ / Long o u t

Parameters:
sockh is the socket to use for the call
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
long ids_pid_open (
long
sockh ,
char m u l t i _ s e a r c h
);

/ / Long i n
/ / String in

Parameters:
sockh is the socket to use for the call
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success
73

CALLING FROM C

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
long i d s _ p i d _ s e a r c h _ g e t (
long
sockh ,
char search ,
char f i l e _ r e c ,
long
file_rec_size ,
long s c o r e ,
char d e c i s i o n ,
long
decision_size ,
long f i l e _ r e c i d ,
long c l u s t e r _ c o u n t
);

/ / Long i n
/ / String in
/ / Block out
/ / Long o u t
/ / String out
/ / Long o u t
/ / Long o u t

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.
ids_pid_search_get

74

Prototype:
long i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s (
long
sockh ,
//
char search ,
//
long
file_recid ,
//
char p r e f i x s ,
//
long
prefixs_num ,
long
prefixs_size ,
long cluster_nums ,
//
long
cluster_nums_num
);

Long i n
String in
Long i n
BlockArray out

LongArray o u t

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
long i d s _ p i d _ s r c _ p k _ g e t (
long
sockh ,
/ / Long i n
char src_pk_value ,
/ / BlockArray out
long
src_pk_value_num ,
long
src_pk_value_size
);

Parameters:
sockh is the socket to use for the call
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
75

CALLING FROM C

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
long i d s _ p i d _ s r c _ p k _ s t a r t (
long
sockh ,
char m u l t i _ s e a r c h ,
char src_pk ,
long
src_pk_num ,
long
src_pk_size
);

/ / Long i n
/ / String in
/ / BlockArray in

Parameters:
sockh is the socket to use for the call
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ l i s t (
long
sockh ,
char gross_names ,
long
gross_names_num ,
long
gross_names_size
char fine_names ,
long
fine_names_num ,
long
fine_names_size
);

/ / Long i n
/ / StringArray out
,
/ / StringArray out

Parameters:
sockh is the socket to use for the call
gross_names List of Gross entity names
fine_names List of Fine entity names
ids_pid_src_pk_start

76

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
long
sockh ,
/ / Long i n
char type ,
/ / String in
long elements
/ / Long o u t
);

Parameters:
sockh is the socket to use for the call
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h
long
sockh ,
//
char type ,
//
long l e n g t h
//
);

(
Long i n
String in
Long o u t

Parameters:
sockh is the socket to use for the call
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value
77

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
long i d s _ p s _ p a r s e (
long
sockh ,
char o p e r a t i o n ,
char input ,
long
input_size ,
char gross ,
long
gross_num ,
long
gross_size ,
char f i n e ,
long
fine_num ,
long
fine_size ,
char standard ,
long
standard_num ,
long
standard_size ,
char ps_format ,
long
ps_format_num ,
long
ps_format_size
);

/ / Long i n
/ / String in
/ / Block in
/ / BlockArray io

/ / BlockArray io

/ / BlockArray io

/ / BlockArray out

Parameters:
sockh is the socket to use for the call
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data
ids_ps_parse

78

Prototype:
long i d s _ p s _ s e t _ e n c o d i n g (
long
sockh ,
long
encoding
);

/ / Long i n
/ / Long i n

Parameters:
sockh is the socket to use for the call
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
long i d s _ p s _ s e t _ e n t i t y _ l i s t (
long
sockh ,
/ / Long i n
char type ,
/ / String in
char e n t i t y _ l i s t ,
/ / StringArray in
long
entity_list_num
);

Parameters:
sockh is the socket to use for the call
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules
79

CALLING FROM C

Prototype:
long i d s _ p s _ s e t _ p o p u l a t i o n (
long
sockh ,
char system ,
char p o p u l a t i o n
);

/ / Long i n
/ / String in
/ / String in

Parameters:
sockh is the socket to use for the call
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
long i d s _ r e a l _ t i m e _ a s y n c _ g e t (
long
sockh ,
/ / Long i n
char r e f e r e n c e ,
/ / String in
long
block ,
/ / Long i n
long c l u s t e r _ a c t i o n _ c o u n t / / Long o u t
);

Parameters:
sockh is the socket to use for the call
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
ids_real_time_async_get

80

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
long i d s _ r e a l _ t i m e _ a s y n c _ s t a r t (
long
sockh ,
//
char r u l e b a s e ,
//
char system ,
//
char IDT ,
//
char sequence_number , / /
char o p e r a t i o n ,
//
char c l u s t e r _ r e c o r d , / /
long
cluster_record_size
long
source ,
//
char m u l t i _ s e a r c h ,
//
long
input_id ,
//
char r e f e r e n c e ,
//
long
reference_size
);

Long i n
String in
String in
String in
String in
String in
Block in
,
Long i n
String in
Long i n
String out

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
81

CALLING FROM C

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ a d d (
long
sockh ,
/ / Long i n
char r u l e _ t y p e ,
/ / String in
char s u b j e c t _ r e c _ p k , / / B l o c k i n
long
subject_rec_pk_size ,
char r e l a t i o n s h i p ,
/ / String in
char r e l a t e d _ r e c _ p k , / / B l o c k i n
long
related_rec_pk_size
);

Parameters:
sockh is the socket to use for the call
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.
ids_real_time_flul_add

82

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ c l o s e (
long
sockh
/ / Long i n
);

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ d e l e t e (
long
sockh ,
/ / Long i n
long
r u l e _ t y p e _ o p t i o n , / / Long i n
char record_pk ,
/ / Block in
long
record_pk_size
);

Parameters:
sockh is the socket to use for the call
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success
83

CALLING FROM C

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e
long
sockh ,
//
char i d t _ r e c ,
//
long
idt_rec_size ,
long
option
//
);

(
Long i n
Block in
Long i n

Parameters:
sockh is the socket to use for the call
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e (
long
sockh ,
/ / Long i n
char i d t _ r e c ,
/ / Block out
long
idt_rec_size
);

Parameters:
sockh is the socket to use for the call
idt_rec is the matched File record for input link or unlink rule.
ids_real_time_flul_find_rule

84

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ i n i t (
long
sockh ,
char idt_name ,
char m u l t i _ s e a r c h
);

/ / Long i n
/ / String in
/ / String in

Parameters:
sockh is the socket to use for the call
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
long i d s _ r e a l _ t i m e _ s y n c _ g e t (
long
sockh ,
/ / Long i n
char r e f e r e n c e ,
/ / String in
char c l u s t e r _ a c t i o n _ t y p e , / / S t r i n g o u t
long
cluster_action_type_size ,
char c l u s t e r _ a c t i o n _ i d , / / S t r i n g o u t
long
cluster_action_id_size ,
long c l u s t e r _ a c t i o n _ n u m b e r , / / Long o u t
char c l u s t e r _ a c t i o n _ n e w , / / S t r i n g o u t
long
cluster_action_new_size
);
85

CALLING FROM C

Parameters:
sockh is the socket to use for the call
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
long i d s _ r e a l _ t i m e _ s y n c _ s t a r t (
long
sockh ,
/ / Long i n
char r u l e b a s e ,
/ / String in
char system ,
/ / String in
char IDT ,
/ / String in
char sequence_number , / / S t r i n g i n
char o p e r a t i o n ,
/ / String in
char c l u s t e r _ r e c o r d , / / B l o c k i n
long
cluster_record_size ,
long c l u s t e r _ a c t i o n _ c o u n t , / / Long o u t
char r e f e r e n c e ,
/ / String out
long
reference_size
);

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
ids_real_time_sync_start

86

operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
long i d s _ s c o r e s _ g e t (
long
sockh ,
char searchname ,
long s c o r e s ,
long
scores_num
);
87

CALLING FROM C

/ / Long i n
/ / String in
/ / LongArray o u t

Parameters:
sockh is the socket to use for the call
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
long ids_search_comment_get (
long
sockh ,
char searchname ,
char comment ,
long
comment_size
);

/ / Long i n
/ / String in
/ / String out

Parameters:
sockh is the socket to use for the call
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
ids_search_comment_get

88

long i d s _ s e a r c h _ d e d u p e _ s t a r t (
long
sockh ,
char search ,
char search_width ,
char m a t c h _ t o l e r a n c e
char parameters ,
long
parameters_num ,
long
parameters_size
char s e a r c h r e c ,
long
searchrec_size ,
char AnswersetName ,
long
flags ,
long r e c i d ,
long r e c s
);

//
//
//
, //
//

Long i n
String in
String in
String in
BlockArray in

,
/ / Block io
//
//
//
//

String in
Long i n
Long i o
Long i o

Parameters:
sockh is the socket to use for the call
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.
89

CALLING FROM C

Prototype:
long i d s _ s e a r c h _ f i e l d s _ c o u n t (
long
sockh ,
char searchname ,
long f c
);

/ / Long i n
/ / String in
/ / Long o u t

Parameters:
sockh is the socket to use for the call
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
long i d s _ s e a r c h _ f i e l d s _ g e t (
long
sockh ,
/ / Long i n
char searchname ,
/ / String in
char fieldnames ,
/ / StringArray out
long
fieldnames_num ,
long
fieldnames_size
);

Parameters:
sockh is the socket to use for the call
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters
ids_search_fields_get

90

Prototype:
long i d s _ s e a r c h _ f i l t e r (
long
sockh ,
char search ,
char f i l t e r
);

/ / Long i n
/ / String in
/ / String in

Parameters:
sockh is the socket to use for the call
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
long i d s _ s e a r c h _ f i n i s h (
long
sockh ,
char s e a r c h
);

/ / Long i n
/ / String in

Parameters:
sockh is the socket to use for the call
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.
91

CALLING FROM C

Prototype:
long i d s _ s e a r c h _ g e t (
long
sockh ,
//
char searchname ,
//
char s e a r c h r e t u r n ,
//
long
searchreturn_size ,
long s c o r e ,
//
long sreps ,
//
long
sreps_num ,
long f r e p s ,
//
long
freps_num
);

Long i n
String in
Block out
Long o u t
LongArray o u t
LongArray o u t

Parameters:
sockh is the socket to use for the call
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.
ids_search_get_complete

92

Prototype:
long i d s _ s e a r c h _ g e t _ c o m p l e t e (
long
sockh ,
//
char search ,
//
char s e a r c h r e t u r n ,
//
long
searchreturn_size ,
long s c o r e ,
//
char i n f o ,
//
long
info_size
);

Long i n
String in
Block out
Long o u t
Block out

Parameters:
sockh is the socket to use for the call
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
long i d s _ s e a r c h _ g e t _ d e t a i l (
long
sockh ,
char search ,
char f i l e _ r e c ,
long
file_rec_size ,
long s c o r e ,
char d e c i s i o n ,
long
decision_size ,
long f i l e _ r e c i d
);
93

CALLING FROM C

/ / Long i n
/ / String in
/ / Block out
/ / Long o u t
/ / String out
/ / Long o u t

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
long i d s _ s e a r c h _ I D T _ g e t (
long
sockh ,
char searchname ,
char IDT ,
long
IDT_size
);

/ / Long i n
/ / String in
/ / String out

Parameters:
sockh is the socket to use for the call
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.
ids_search_IDT_get

94

Prototype:
long i d s _ s e a r c h _ l a y o u t (
long
sockh ,
char search ,
char viewType ,
char func ,
char names ,
long
names_num ,
long
names_size ,
long l e n g t h s ,
long
lengths_num ,
long o f f s e t s ,
long
offsets_num ,
long r e p e a t s ,
long
repeats_num ,
char formats ,
long
formats_num ,
long
formats_size
);

//
//
//
//
//

Long i n
String in
String in
String in
StringArray out

/ / LongArray o u t
/ / LongArray o u t
/ / LongArray o u t
/ / StringArray out

Parameters:
sockh is the socket to use for the call
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

95

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
long i d s _ s e a r c h _ s t a r t (
long
sockh ,
char search ,
char search_width ,
char m a t c h _ t o l e r a n c e
char parameters ,
long
parameters_num ,
long
parameters_size
char s e a r c h r e c ,
long
searchrec_size ,
char AnswersetName ,
long r e c s ,
char r ec o rd s ,
long
records_num ,
long
records_size
);

//
//
//
, //
//

Long i n
String in
String in
String in
BlockArray in

,
/ / Block io
/ / String in
/ / Long o u t
/ / BlockArray in

Parameters:
sockh is the socket to use for the call
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
ids_search_start

96

parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
long i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t
long
sockh ,
char searchname ,
long count
);

(
/ / Long i n
/ / String in
/ / Long o u t

Parameters:
sockh is the socket to use for the call
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
97

CALLING FROM C

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
long i d s _ s e a r c h _ t o l e r a n c e s _ g e t (
long
sockh ,
/ / Long i n
char searchname ,
/ / String in
char t o l e r a n c e s ,
/ / StringArray out
long
tolerances_num ,
long
tolerances_size
);

Parameters:
sockh is the socket to use for the call
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
long i d s _ s e a r c h _ v i e w _ g e t (
long
sockh ,
//
char search ,
//
char viewType ,
//
char viewName ,
//
long
viewName_size ,
long viewFieldCount , / /
long viewRecLen
//
);

Long i n
String in
String in
String out
Long o u t
Long o u t

Parameters:
sockh is the socket to use for the call
ids_search_tolerances_get

98

search is the name of the Search


viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
long i d s _ s e a r c h _ v i e w _ s e t (
long
sockh ,
char search ,
char viewType ,
char viewName
);

//
//
//
//

Long i n
String in
String in
String in

Parameters:
sockh is the socket to use for the call
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search
99

CALLING FROM C

Prototype:
long i d s _ s e a r c h _ w i d t h s _ c o u n t (
long
sockh ,
char searchname ,
long count
);

/ / Long i n
/ / String in
/ / Long o u t

Parameters:
sockh is the socket to use for the call
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
long i d s _ s e a r c h _ w i d t h s _ g e t (
long
sockh ,
char searchname ,
char widths ,
long
widths_num ,
long
widths_size
);

/ / Long i n
/ / String in
/ / StringArray out

Parameters:
sockh is the socket to use for the call
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.
ids_search_widths_get

100

Prototype:
long i d s _ s e r v e r _ v e r s i o n _ g e t (
long
sockh ,
/ / Long i n
char s e r v e r _ v e r s i o n , / / S t r i n g o u t
long
server_version_size
);

Parameters:
sockh is the socket to use for the call
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
long i d s _ s e s s i o n _ c l o s e (
long
sockh
);

/ / Long i n

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.
101

CALLING FROM C

Prototype:
long i d s _ s e s s i o n _ o p e n (
long
sockh ,
long s e s s i o n
);

/ / Long i n
/ / Long i o

Parameters:
sockh is the socket to use for the call
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
long i d s _ s e t _ e n c o d i n g (
long
sockh ,
long
encoding
);

/ / Long i n
/ / Long i n

Parameters:
sockh is the socket to use for the call
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.
ids_set_encoding

102

Prototype:
long i d s _ s e t _ v p d _ u s e r (
long
sockh ,
char vpd_user ,
char vpd_ctx
);

/ / Long i n
/ / String in
/ / String in

Parameters:
sockh is the socket to use for the call
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
long i d s _ s y s t e m _ c l o s e (
long
sockh
);

/ / Long i n

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).
103

CALLING FROM C

Prototype:
long ids_system_idtname_count (
long
sockh ,
/ / Long i n
long i d t c o u n t
/ / Long o u t
);

Parameters:
sockh is the socket to use for the call
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
long ids_system_idtname_get (
long
sockh ,
char idtnames ,
long
idtnames_num ,
long
idtnames_size
);

/ / Long i n
/ / StringArray out

Parameters:
sockh is the socket to use for the call
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.
ids_system_idtname_get

104

Prototype:
long i d s _ s y s t e m _ n o t i f y (
long
sockh ,
char r u l e b a s e ,
char sysname ,
char message
);

//
//
//
//

Long i n
String in
String in
String in

//
//
//
//
//

Long i n
String in
String in
String in
String in

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
long ids_system_open (
long
sockh ,
char r u l e b a s e ,
char system ,
char v e r b o s i t y ,
char Options
);

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.
105

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
long i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t (
long
sockh ,
/ / Long i n
long s e a r c h c o u n t
/ / Long o u t
);

Parameters:
sockh is the socket to use for the call
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
long i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t (
long
sockh ,
//
char s e a r c h e s ,
//
long
searches_num ,
long
searches_size ,
char p i d _ p r e f i x ,
//
long
pid_prefix_num ,
long
pid_prefix_size ,
long pid_opts ,
//
long
pid_opts_num ,
long p r e f _ r e c _ o p t s ,
//
long
pref_rec_opts_num
);

Long i n
StringArray out

BlockArray out

LongArray o u t
LongArray o u t

Parameters:
sockh is the socket to use for the call
ids_system_pid_searches_count

106

searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
long i d s _ s y s t e m _ s e a r c h _ f i n i s h (
long
sockh
/ / Long i n
);

Parameters:
sockh is the socket to use for the call

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
long i d s _ s y s t e m _ s e a r c h _ s t a r t (
long
sockh ,
char r u l e b a s e ,
char system ,
char v e r b o s i t y ,
107

CALLING FROM C

//
//
//
//

Long i n
String in
String in
String in

char
char
char
long
long
char
long
long

options ,
search ,
parameters ,
parameters_num ,
parameters_size
AnswersetName ,
datalen ,
recs

/ / String in
/ / String in
/ / BlockArray in
,
/ / String in
/ / Long o u t
/ / Long o u t

);

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
long i d s _ s y s t e m _ s e a r c h e s _ c o u n t (
long
sockh ,
/ / Long i n
long s e a r c h c o u n t
/ / Long o u t
);

Parameters:
sockh is the socket to use for the call
searchcount is the number of searches defined on the system
ids_system_searches_count

108

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
long i d s _ s y s t e m _ s e a r c h e s _ g e t (
long
sockh ,
char s e a r c h e s ,
long
searches_num ,
long
searches_size
);

/ / Long i n
/ / StringArray out

Parameters:
sockh is the socket to use for the call
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
long i d s _ s y s t e m s _ c o u n t (
long
sockh ,
char r u l e b a s e ,
long systemscount
);

/ / Long i n
/ / String in
/ / Long o u t

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.
109

CALLING FROM C

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
long i d s _ s y s t e m s _ g e t (
long
sockh ,
char r u l e b a s e ,
char systems ,
long
systems_num ,
long
systems_size
);

/ / Long i n
/ / String in
/ / StringArray out

Parameters:
sockh is the socket to use for the call
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

110

Calling from C without Arrays


If the language does not support C-style arrays an alternative API is available. This API requires only
the long, long * and char * data-types.
For Win32, the C API functions are provided by the import library %SSALIB%\stssasea.lib for
dynamic linking.
For Unix, the C API functions are provided in $SSABIN (libssasea.so and libssaiok.so).
The functions are prototyped in %SSAINC%\ssaseca.h.
The functions return a response code. A negative response code indicates a transport error, after which
the communication channel is closed and no further API calls can be made without reconnecting.

Constants
Constants are declared as #defines, in uppercase using underscores. Constants are prefixed with SSA_,
eg. SSA_MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d (
long sockh ,
long
suggest_idx ,
/ / Long i n
long
field_idx ,
/ / Long i n
char f i e l d _ v a l u e ,
/ / Block out
long
field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value
111

CALLING FROM C WITHOUT ARRAYS

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t (
long sockh ,
long count
/ / Long o u t
);

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
long i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o (
long sockh ,
long
suggest_idx ,
/ / Long i n
long f i e l d _ l e n g t h ,
/ / LongArray o u t
long
f ie l d_ l en gt h _n u m
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field
ids_addr_get_cass_field_cnt

112

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
long i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t
long sockh ,
long
suggest_idx ,
long
del_case ,
char d e l _ l i n e 1 ,
long
del_line1_size ,
char d e l _ l i n e 2 ,
long
del_line2_size ,
char d e l _ l i n e 3 ,
long
del_line3_size ,
char d e l _ l i n e 4 ,
long
del_line4_size ,
char d e l _ l i n e 5 ,
long
del_line5_size ,
char d e l _ l i n e 6 ,
long
del_line6_size
);

(
/ / Long i n
/ / Long i n
/ / Block out
/ / Block out
/ / Block out
/ / Block out
/ / Block out
/ / Block out

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
113

CALLING FROM C WITHOUT ARRAYS

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d (
long sockh ,
long
suggest_idx ,
long
field_idx ,
char f i e l d _ v a l u e ,
long
field_value_size
long f i e l d _ v a l _ s t a t u s
long f i e l d _ v a l _ m o d s
);

/ / Long i n
/ / Long i n
/ / Block out
,
, / / Long o u t
/ / Long o u t

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ c o u n t (
long sockh ,
long count
/ / Long o u t
);

Parameters:
count Returns the max number of address fields
ids_addr_get_field

114

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ e x t (
long sockh ,
long
suggest_idx ,
long
field_operation ,
char field_name ,
long
field_item_line ,
char f i e l d _ t y p e ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//
//
//

Long i n
Long i n
String in
Long i n
String in
Block out

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).
115

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ i d x (
long sockh ,
long
suggest_idx ,
/ / Long i n
long
field_idx ,
/ / Long i n
char f i e l d _ v a l u e ,
/ / Block out
long
field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t (
long sockh ,
long
suggest_idx ,
/ / Long i n
long f i e l d _ l e n g t h ,
/ / LongArray o u t
long
field_length_num ,
char addr_label_encoded , / / B l o c k o u t
long
addr_label_encoded_size ,
char a d d r _ l a b e l _ c h a r s e t , / / S t r i n g o u t
long
addr_label_charset_size ,
long s c o r e
/ / Long o u t
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score
ids_addr_get_field_info_ext

116

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
long i d s _ a d d r _ g e t _ f i e l d _ l e n (
long sockh ,
long max_len
);

/ / Long o u t

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
long i d s _ a d d r _ g e t _ l i n e _ l e n (
long sockh ,
long max_len
);

/ / Long o u t

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success
117

CALLING FROM C WITHOUT ARRAYS

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
long i d s _ a d d r _ g e t _ o p t i o n (
long sockh ,
char param ,
char value ,
long
value_size
);

/ / String in
/ / String out

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
long i d s _ a d d r _ i n f o (
long sockh ,
char c o n t r o l s ,
char value ,
long
value_size
);

/ / String in
/ / String out

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success
ids_addr_get_option

118

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
long i d s _ a d d r _ i n i t (
long sockh ,
long
max_memory
);

/ / Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
long i d s _ a d d r _ p a r s e (
long sockh ,
long f i e l d _ l e n g t h ,
/ / LongArray o u t
long
f ie l d_ l en gt h _n u m
);

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success
119

CALLING FROM C WITHOUT ARRAYS

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
long i d s _ a d d r _ p r e l o a d _ c o u n t r y (
long sockh ,
char preload_type ,
/ / String in
char preload_country , / / S t r i n g i n
char val_mode
/ / String in
);

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
long i d s _ a d d r _ s e t _ a t t r i b (
long sockh ,
char c h a r _ s e t ,
/ / String in
char d e f a u l t _ c o u n t r y / / S t r i n g i n
);

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.
ids_addr_preload_country

120

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
long i d s _ a d d r _ s e t _ d e l _ l i n e s (
long sockh ,
char d e l _ l i n e 1 ,
long
del_line1_size
char d e l _ l i n e 2 ,
long
del_line2_size
char d e l _ l i n e 3 ,
long
del_line3_size
char d e l _ l i n e 4 ,
long
del_line4_size
char d e l _ l i n e 5 ,
long
del_line5_size
char d e l _ l i n e 6 ,
long
del_line6_size
);

/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in
,
/ / Block in

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option
121

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ c a s e (
long sockh ,
long
field_idx ,
long
field_case
);

/ / Long i n
/ / Long i n

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ e x t (
long sockh ,
long
field_operation ,
char field_name ,
long
field_item_line ,
char f i e l d _ t y p e ,
char f i e l d _ v a l u e ,
long
field_value_size
);

//
//
//
//
//

Long i n
String in
Long i n
String in
Block in

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success
ids_addr_set_field_ext

122

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ i d x (
long sockh ,
long
field_idx ,
/ / Long i n
char f i e l d _ v a l u e ,
/ / Block in
long
field_value_size
);

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
long i d s _ a d d r _ s e t _ f i e l d _ n a m e (
long sockh ,
char field_name ,
/ / String in
char f i e l d _ v a l u e ,
/ / Block in
long
field_value_size
);

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success
123

CALLING FROM C WITHOUT ARRAYS

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
long i d s _ a d d r _ s e t _ l i n e s (
long sockh ,
char l i n e _ 1 ,
long
line_1_size ,
char l i n e _ 2 ,
long
line_2_size ,
char l i n e _ 3 ,
long
line_3_size ,
char l i n e _ 4 ,
long
line_4_size ,
char l i n e _ 5 ,
long
line_5_size ,
char l i n e _ 6 ,
long
line_6_size ,
char l i n e _ 7 ,
long
line_7_size ,
char l i n e _ 8 ,
long
line_8_size ,
char l i n e _ 9 ,
long
line_9_size ,
char l i n e _ 1 0 ,
long
line_10_size
);

/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in
/ / Block in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success
ids_addr_set_lines

124

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
long i d s _ a d d r _ s e t _ o p t i o n (
long sockh ,
char param ,
char value
);

/ / String in
/ / String in

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
long i d s _ a d d r _ s t d (
long sockh ,
char firm_name ,
//
long
firm_name_size ,
char u r b a n i z a t i o n ,
//
long
urbanization_size ,
char address_one ,
//
long
address_one_size ,
char address_two ,
//
long
address_two_size ,
char l a s t _ l i n e ,
//
long
last_line_size
);

String io
String io
String io
String io
String io

Parameters:
firm_name It contains the name of the firm (may be blank).
125

CALLING FROM C WITHOUT ARRAYS

urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
long i d s _ a d d r _ v a l i d a t e (
long sockh ,
long s t a t u s ,
long n_suggest
);

/ / Long o u t
/ / Long o u t

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
ids_addr_validate

126

Prototype:
long i d s _ c o n n e c t (
char host ,
long
port ,
long sockh
);

/ / String in
/ / Long i n
/ / Long o u t

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
long i d s _ d i s c o n n e c t (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

127

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ e r r o r _ g e t (
long sockh ,
char msg ,
long
msg_size
);

/ / String out

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
long i d s _ e r r o r s _ g e t _ a l l (
long sockh ,
char msg ,
long
msg_size
);

/ / String out

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
ids_errors_get_all

128

Prototype:
long i d s _ i d e n t i f y (
long sockh ,
char i d e n t i f i c a t i o n
);

/ / String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
long i d s _ i s _ l i t t l e _ e n d i a n (
long sockh ,
long e n d i a n _ s t a t e
);

/ / Long o u t

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.
129

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ m a t c h _ e x p l a i n (
long sockh ,
char search ,
char m a t c h _ t o l e r a n c e
char s e a r c h r e c ,
long
searchrec_size ,
char f i l e r e c ,
long
filerec_size ,
char i n f o _ a r r a y ,
long
info_array_num ,
long
info_array_size
);

/ / String in
, / / String in
/ / Block in
/ / Block in
/ / BlockArray out

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
long i d s _ m a t c h _ e x p l a i n _ c o u n t (
long sockh ,
char search ,
long count
);

/ / String in
/ / Long o u t

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
ids_match_explain_count

130

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
long i d s _ p i d _ c l o s e (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
long ids_pid_member_count (
long sockh ,
char p r e f i x ,
long
prefix_size ,
long
cluster_num ,
long count
);

/ / Block in
/ / Long i n
/ / Long o u t

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success
131

CALLING FROM C WITHOUT ARRAYS

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
long ids_pid_member_get (
long sockh ,
char p r e f i x ,
long
prefix_size ,
long
cluster_num ,
char record ,
long
record_size ,
long r e c i d
);

/ / Block in
/ / Long i n
/ / Block out
/ / Long o u t

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
long ids_pid_open (
long sockh ,
char m u l t i _ s e a r c h
);

/ / String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.
ids_pid_member_get

132

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
long i d s _ p i d _ s e a r c h _ g e t (
long sockh ,
char search ,
char f i l e _ r e c ,
long
file_rec_size ,
long s c o r e ,
char d e c i s i o n ,
long
decision_size ,
long f i l e _ r e c i d ,
long c l u s t e r _ c o u n t
);

/ / String in
/ / Block out
/ / Long o u t
/ / String out
/ / Long o u t
/ / Long o u t

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.
133

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s (
long sockh ,
char search ,
//
long
file_recid ,
//
char p r e f i x s ,
//
long
prefixs_num ,
long
prefixs_size ,
long cluster_nums ,
//
long
cluster_nums_num
);

String in
Long i n
BlockArray out

LongArray o u t

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
long i d s _ p i d _ s r c _ p k _ g e t (
long sockh ,
char src_pk_value ,
/ / BlockArray out
long
src_pk_value_num ,
long
src_pk_value_size
);

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
ids_pid_src_pk_get

134

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
long i d s _ p i d _ s r c _ p k _ s t a r t (
long sockh ,
char m u l t i _ s e a r c h ,
char src_pk ,
long
src_pk_num ,
long
src_pk_size
);

/ / String in
/ / BlockArray in

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ l i s t (
long sockh ,
char gross_names ,
/ / StringArray out
long
gross_names_num ,
long
gross_names_size ,
char fine_names ,
/ / StringArray out
long
fine_names_num ,
long
fine_names_size
);

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success
135

CALLING FROM C WITHOUT ARRAYS

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
long sockh ,
char type ,
/ / String in
long elements
/ / Long o u t
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
long i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
long sockh ,
char type ,
/ / String in
long l e n g t h
/ / Long o u t
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success
ids_ps_get_entity_max_elements

136

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
long i d s _ p s _ p a r s e (
long sockh ,
char o p e r a t i o n ,
char input ,
long
input_size ,
char gross ,
long
gross_num ,
long
gross_size ,
char f i n e ,
long
fine_num ,
long
fine_size ,
char standard ,
long
standard_num ,
long
standard_size ,
char ps_format ,
long
ps_format_num ,
long
ps_format_size
);

/ / String in
/ / Block in
/ / BlockArray io

/ / BlockArray io

/ / BlockArray io

/ / BlockArray out

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data
137

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ p s _ s e t _ e n c o d i n g (
long sockh ,
long
encoding
);

/ / Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
long i d s _ p s _ s e t _ e n t i t y _ l i s t (
long sockh ,
char type ,
/ / String in
char e n t i t y _ l i s t ,
/ / StringArray in
long
entity_list_num
);

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules
ids_ps_set_entity_list

138

Prototype:
long i d s _ p s _ s e t _ p o p u l a t i o n (
long sockh ,
char system ,
char p o p u l a t i o n
);

/ / String in
/ / String in

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
long i d s _ r e a l _ t i m e _ a s y n c _ g e t (
long sockh ,
char r e f e r e n c e ,
/ / String in
long
block ,
/ / Long i n
long c l u s t e r _ a c t i o n _ c o u n t / / Long o u t
);

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
139

CALLING FROM C WITHOUT ARRAYS

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
long i d s _ r e a l _ t i m e _ a s y n c _ s t a r t (
long sockh ,
char r u l e b a s e ,
//
char system ,
//
char IDT ,
//
char sequence_number , / /
char o p e r a t i o n ,
//
char c l u s t e r _ r e c o r d , / /
long
cluster_record_size
long
source ,
//
char m u l t i _ s e a r c h ,
//
long
input_id ,
//
char r e f e r e n c e ,
//
long
reference_size
);

String in
String in
String in
String in
String in
Block in
,
Long i n
String in
Long i n
String out

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
ids_real_time_async_start

140

1-9 Reserved for future use


10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ a d d (
long sockh ,
char r u l e _ t y p e ,
/ / String in
char s u b j e c t _ r e c _ p k , / / B l o c k i n
long
subject_rec_pk_size ,
char r e l a t i o n s h i p ,
/ / String in
char r e l a t e d _ r e c _ p k , / / B l o c k i n
long
related_rec_pk_size
);

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
141

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ c l o s e (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ d e l e t e (
long sockh ,
long
r u l e _ t y p e _ o p t i o n , / / Long i n
char record_pk ,
/ / Block in
long
record_pk_size
);

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
ids_real_time_flul_delete

142

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
long sockh ,
char i d t _ r e c ,
/ / Block in
long
idt_rec_size ,
long
option
/ / Long i n
);

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e (
long sockh ,
char i d t _ r e c ,
/ / Block out
long
idt_rec_size
);

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
143

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ r e a l _ t i m e _ f l u l _ i n i t (
long sockh ,
char idt_name ,
char m u l t i _ s e a r c h
);

/ / String in
/ / String in

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
long i d s _ r e a l _ t i m e _ s y n c _ g e t (
long sockh ,
char r e f e r e n c e ,
/ / String in
char c l u s t e r _ a c t i o n _ t y p e , / / S t r i n g o u t
long
cluster_action_type_size ,
char c l u s t e r _ a c t i o n _ i d , / / S t r i n g o u t
long
cluster_action_id_size ,
long c l u s t e r _ a c t i o n _ n u m b e r , / / Long o u t
char c l u s t e r _ a c t i o n _ n e w , / / S t r i n g o u t
long
cluster_action_new_size
);

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing
ids_real_time_sync_get

144

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
long i d s _ r e a l _ t i m e _ s y n c _ s t a r t (
long sockh ,
char r u l e b a s e ,
/ / String in
char system ,
/ / String in
char IDT ,
/ / String in
char sequence_number , / / S t r i n g i n
char o p e r a t i o n ,
/ / String in
char c l u s t e r _ r e c o r d , / / B l o c k i n
long
cluster_record_size ,
long c l u s t e r _ a c t i o n _ c o u n t , / / Long o u t
char r e f e r e n c e ,
/ / String out
long
reference_size
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

Return Code:
negative for error
0 for success, and postive for warnings:
145

CALLING FROM C WITHOUT ARRAYS

This must be passed to the

1-9 Reserved for future use


10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
long i d s _ s c o r e s _ g e t (
long sockh ,
char searchname ,
long s c o r e s ,
long
scores_num
);

/ / String in
/ / LongArray o u t

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.
ids_scores_get

146

Prototype:
long ids_search_comment_get (
long sockh ,
char searchname ,
char comment ,
long
comment_size
);

/ / String in
/ / String out

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
long i d s _ s e a r c h _ d e d u p e _ s t a r t (
long sockh ,
char search ,
char search_width ,
char m a t c h _ t o l e r a n c e
char parameters ,
long
parameters_num ,
long
parameters_size
char s e a r c h r e c ,
long
searchrec_size ,
char AnswersetName ,
long
flags ,
long r e c i d ,
long r e c s
);

//
//
, //
//

String in
String in
String in
BlockArray in

,
/ / Block io
//
//
//
//

String in
Long i n
Long i o
Long i o

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
147

CALLING FROM C WITHOUT ARRAYS

searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
long i d s _ s e a r c h _ f i e l d s _ c o u n t (
long sockh ,
char searchname ,
long f c
);

/ / String in
/ / Long o u t

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.
ids_search_fields_count

148

Prototype:
long i d s _ s e a r c h _ f i e l d s _ g e t (
long sockh ,
char searchname ,
/ / String in
char fieldnames ,
/ / StringArray out
long
fieldnames_num ,
long
fieldnames_size
);

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
long i d s _ s e a r c h _ f i l t e r (
long sockh ,
char search ,
char f i l t e r
);

/ / String in
/ / String in

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.
149

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ s e a r c h _ f i n i s h (
long sockh ,
char s e a r c h
);

/ / String in

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
long i d s _ s e a r c h _ g e t (
long sockh ,
char searchname ,
//
char s e a r c h r e t u r n ,
//
long
searchreturn_size ,
long s c o r e ,
//
long sreps ,
//
long
sreps_num ,
long f r e p s ,
//
long
freps_num
);

String in
Block out
Long o u t
LongArray o u t
LongArray o u t

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups
freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
ids_search_get

150

For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
long i d s _ s e a r c h _ g e t _ c o m p l e t e (
long sockh ,
char search ,
//
char s e a r c h r e t u r n ,
//
long
searchreturn_size ,
long s c o r e ,
//
char i n f o ,
//
long
info_size
);

String in
Block out
Long o u t
Block out

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".
151

CALLING FROM C WITHOUT ARRAYS

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
long i d s _ s e a r c h _ g e t _ d e t a i l (
long sockh ,
char search ,
char f i l e _ r e c ,
long
file_rec_size ,
long s c o r e ,
char d e c i s i o n ,
long
decision_size ,
long f i l e _ r e c i d
);

/ / String in
/ / Block out
/ / Long o u t
/ / String out
/ / Long o u t

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
long i d s _ s e a r c h _ I D T _ g e t (
long sockh ,
char searchname ,
char IDT ,
long
IDT_size
);

/ / String in
/ / String out

ids_search_get_detail

152

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
long i d s _ s e a r c h _ l a y o u t (
long sockh ,
char search ,
char viewType ,
char func ,
char names ,
long
names_num ,
long
names_size ,
long l e n g t h s ,
long
lengths_num ,
long o f f s e t s ,
long
offsets_num ,
long r e p e a t s ,
long
repeats_num ,
char formats ,
long
formats_num ,
long
formats_size
);

//
//
//
//

String in
String in
String in
StringArray out

/ / LongArray o u t
/ / LongArray o u t
/ / LongArray o u t
/ / StringArray out

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
153

CALLING FROM C WITHOUT ARRAYS

Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
long i d s _ s e a r c h _ s t a r t (
long sockh ,
char search ,
char search_width ,
char m a t c h _ t o l e r a n c e
char parameters ,
long
parameters_num ,
long
parameters_size
char s e a r c h r e c ,
long
searchrec_size ,

//
//
, //
//

String in
String in
String in
BlockArray in

,
/ / Block io

ids_search_start

154

char
long
char
long
long

AnswersetName ,
recs ,
r ec o rd s ,
records_num ,
records_size

/ / String in
/ / Long o u t
/ / BlockArray in

);

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
155

CALLING FROM C WITHOUT ARRAYS

long i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t (
long sockh ,
char searchname ,
/ / String in
long count
/ / Long o u t
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
long i d s _ s e a r c h _ t o l e r a n c e s _ g e t (
long sockh ,
char searchname ,
/ / String in
char t o l e r a n c e s ,
/ / StringArray out
long
tolerances_num ,
long
tolerances_size
);

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.
ids_search_tolerances_get

156

Prototype:
long i d s _ s e a r c h _ v i e w _ g e t (
long sockh ,
char search ,
//
char viewType ,
//
char viewName ,
//
long
viewName_size ,
long viewFieldCount , / /
long viewRecLen
//
);

String in
String in
String out
Long o u t
Long o u t

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
long i d s _ s e a r c h _ v i e w _ s e t (
long sockh ,
char search ,
char viewType ,
char viewName
);

/ / String in
/ / String in
/ / String in

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success
157

CALLING FROM C WITHOUT ARRAYS

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
long i d s _ s e a r c h _ w i d t h s _ c o u n t (
long sockh ,
char searchname ,
long count
);

/ / String in
/ / Long o u t

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
long i d s _ s e a r c h _ w i d t h s _ g e t (
long sockh ,
char searchname ,
char widths ,
long
widths_num ,
long
widths_size
);

/ / String in
/ / StringArray out

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success
ids_search_widths_count

158

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
long i d s _ s e r v e r _ v e r s i o n _ g e t (
long sockh ,
char s e r v e r _ v e r s i o n , / / S t r i n g o u t
long
server_version_size
);

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
long i d s _ s e s s i o n _ c l o s e (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
159

CALLING FROM C WITHOUT ARRAYS

from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
long i d s _ s e s s i o n _ o p e n (
long sockh ,
long s e s s i o n
);

/ / Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
long i d s _ s e t _ e n c o d i n g (
long sockh ,
long
encoding
);

/ / Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
ids_set_encoding

160

Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
long i d s _ s e t _ v p d _ u s e r (
long sockh ,
char vpd_user ,
char vpd_ctx
);

/ / String in
/ / String in

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
long i d s _ s y s t e m _ c l o s e (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).
161

CALLING FROM C WITHOUT ARRAYS

Prototype:
long ids_system_idtname_count (
long sockh ,
long i d t c o u n t
/ / Long o u t
);

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
long ids_system_idtname_get (
long sockh ,
char idtnames ,
long
idtnames_num ,
long
idtnames_size
);

/ / StringArray out

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
ids_system_idtname_get

162

long i d s _ s y s t e m _ n o t i f y (
long sockh ,
char r u l e b a s e ,
char sysname ,
char message
);

/ / String in
/ / String in
/ / String in

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
long ids_system_open (
long sockh ,
char r u l e b a s e ,
char system ,
char v e r b o s i t y ,
char Options
);

//
//
//
//

String
String
String
String

in
in
in
in

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success
163

CALLING FROM C WITHOUT ARRAYS

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
long i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t (
long sockh ,
long s e a r c h c o u n t
/ / Long o u t
);

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
long i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t (
long sockh ,
char s e a r c h e s ,
//
long
searches_num ,
long
searches_size ,
char p i d _ p r e f i x ,
//
long
pid_prefix_num ,
long
pid_prefix_size ,
long pid_opts ,
//
long
pid_opts_num ,
long p r e f _ r e c _ o p t s ,
//
long
pref_rec_opts_num
);

StringArray out

BlockArray out

LongArray o u t
LongArray o u t

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied
ids_system_pid_searches_count

164

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
long i d s _ s y s t e m _ s e a r c h _ f i n i s h (
long sockh ,
);

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
long i d s _ s y s t e m _ s e a r c h _ s t a r t (
long sockh ,
char r u l e b a s e ,
char system ,
char v e r b o s i t y ,
char options ,
char search ,
char parameters ,
long
parameters_num ,
long
parameters_size
char AnswersetName ,
long d a t a l e n ,
long r e c s
);

//
//
//
//
//
//
,

/ / String in
/ / Long o u t
/ / Long o u t

Parameters:
rulebase is the name of the rulebase.
165

String in
String in
String in
String in
String in
BlockArray in

CALLING FROM C WITHOUT ARRAYS

system The name of the system in the rulebase


verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
long i d s _ s y s t e m _ s e a r c h e s _ c o u n t (
long sockh ,
long s e a r c h c o u n t
/ / Long o u t
);

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.
ids_system_searches_count

166

Prototype:
long i d s _ s y s t e m _ s e a r c h e s _ g e t (
long sockh ,
char s e a r c h e s ,
long
searches_num ,
long
searches_size
);

/ / StringArray out

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
long i d s _ s y s t e m s _ c o u n t (
long sockh ,
char r u l e b a s e ,
long systemscount
);

/ / String in
/ / Long o u t

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.
167

CALLING FROM C WITHOUT ARRAYS

Prototype:
long i d s _ s y s t e m s _ g e t (
long sockh ,
char r u l e b a s e ,
char systems ,
long
systems_num ,
long
systems_size
);

/ / String in
/ / StringArray out

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

168

Calling from C#
In C# the API methods are made available in the shareable assembly ssasecs.dll. This contains
the classes ids, which contains the API, as well as SSAAPIException and SSASocketException,
which are based on ApplicationException. All of these are in the ssa namespace.
The ids methods throw exceptions of the classes SSAAPIException and SSASocketException
that must be caught. If SSASocketException is caught, the communication channel is closed and no
further calls to the API can be made without reconnecting.

Installation - Win32 client


The shareable assembly can be installed in the global assembly cache with Microsofts gacutil utility:
gacutil /i %SSABIN%\ssasecs.dll

You can then create applications that use it with:


csc /reference:%SSABIN%\ssasecs.dll myprog.cs

Constants
Constants are public properties of the ids class, in uppercase using underscores, eg. ids.MSG_SIZE.

Response code
The response code returned from certain calls is also a public property called rc i.e. ids.rc.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

Constructor
Description:
Used to create a ssa.ids object. This object is then used to make the required API calls to the Search
or Connection Server.

Prototype:
using s s a ;
public i d s (
String
int
) throws SSAException ;
169

CALLING FROM C#

hostname ,
port

/ / String in
/ / long in

Parameters:
hostname is the name or IP address of the computer where the MDM-RE Server is running
port the port number of the MDM-RE Server for which a socket connection is to be established

Returns:
object allocated on success; SSAException on error

addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
using s s a ;
public byte [ ] a d d r _ g e t _ c a s s _ f i e l d (
int
suggest_idx ,
/ / Long i n
int
field_idx
/ / Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success

addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.
addr_get_cass_field

170

Prototype:
using s s a ;
public i n t a d d r _ g e t _ c a s s _ f i e l d _ c n t ( ) ;

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using s s a ;
public i n t [ ] a d d r _ g e t _ c a s s _ f i e l d _ i n f o (
int
suggest_idx
/ / Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
171

CALLING FROM C#

using s s a ;
public s t r u c t a d d r _ g e t _ d e l _ l i n e s _ e x t _ s t r u c t a d d r _ g e t _ d e l _ l i n e s _ e x t (
int
suggest_idx ,
/ / Long i n
int
del_case
/ / Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
using s s a ;
public s t r u c t a d d r _ g e t _ f i e l d _ s t r u c t a d d r _ g e t _ f i e l d (
int
suggest_idx ,
/ / Long i n
int
field_idx
/ / Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data
addr_get_field

172

Return Code:
negative for error, 0 for success

addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
using s s a ;
public i n t a d d r _ g e t _ f i e l d _ c o u n t ( ) ;

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
using s s a ;
public byte [ ] a d d r _ g e t _ f i e l d _ e x t
int
suggest_idx ,
//
int
field_operation , / /
s t r i n g field_name ,
//
int
field_item_line , / /
string field_type
//
);

(
Long i n
Long i n
String in
Long i n
String in

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
173

CALLING FROM C#

field_name Refer AD Result.dtd for field names


field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
using s s a ;
public byte [ ] a d d r _ g e t _ f i e l d _ i d x (
int
suggest_idx ,
/ / Long i n
int
field_idx
/ / Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx
addr_get_field_idx

174

Prototype:
using s s a ;
public s t r u c t a d d r _ g e t _ f i e l d _ i n f o _ e x t _ s t r u c t a d d r _ g e t _ f i e l d _ i n f o _ e x t (
int
suggest_idx
/ / Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
using s s a ;
public i n t a d d r _ g e t _ f i e l d _ l e n ( ) ;

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.
175

CALLING FROM C#

Prototype:
using s s a ;
public i n t a d d r _ g e t _ l i n e _ l e n ( ) ;

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
using s s a ;
public s t r i n g a d d r _ g e t _ o p t i o n (
s t r i n g param
/ / String in
);

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.
addr_get_option

176

Prototype:
using s s a ;
public s t r i n g a d d r _ i n f o (
string controls
);

/ / String in

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
using s s a ;
public void a d d r _ i n i t (
int
max_memory
);

/ / Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx
177

CALLING FROM C#

Prototype:
using s s a ;
public i n t [ ] addr_parse ( ) ;

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

addr_preload_country
Description:
Use this function to preload country database

Prototype:
using s s a ;
public void addr_preload_country (
s t r i n g preload_type ,
/ / String in
s t r i n g preload_country , / / S t r i n g i n
s t r i n g val_mode
/ / String in
);

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.
addr_preload_country

178

Prototype:
using s s a ;
public void a d d r _ s e t _ a t t r i b (
string char_set ,
/ / String in
string default_country / / String in
);

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
using s s a ;
public void a d d r _ s e t _ d e l _ l i n e s (
byte [ ] d e l _ l i n e 1 ,
/ / Block
byte [ ] d e l _ l i n e 2 ,
/ / Block
byte [ ] d e l _ l i n e 3 ,
/ / Block
byte [ ] d e l _ l i n e 4 ,
/ / Block
byte [ ] d e l _ l i n e 5 ,
/ / Block
byte [ ] d e l _ l i n e 6
/ / Block
);

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success
179

CALLING FROM C#

in
in
in
in
in
in

addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
using s s a ;
public void a d d r _ s e t _ f i e l d _ c a s e (
int
field_idx ,
/ / Long i n
int
field_case
/ / Long i n
);

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

addr_set_field_ext
Description:
Use this function to set fields

Prototype:
using s s a ;
public void a d d r _ s e t _ f i e l d _ e x t (
int
f i e l d _ o p e r a t i o n , / / Long i n
s t r i n g field_name ,
/ / String in
int
f i e l d _ i t e m _ l i n e , / / Long i n
string field_type ,
/ / String in
byte [ ] f i e l d _ v a l u e
/ / Block in
);

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value
addr_set_field_case

180

Return Code:
negative for error, 0 for success

addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using s s a ;
public void a d d r _ s e t _ f i e l d _ i d x (
int
field_idx ,
/ / Long i n
byte [ ] f i e l d _ v a l u e
/ / Block in
);

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
using s s a ;
public void a d d r _ s e t _ f i e l d _ n a m e (
s t r i n g field_name ,
/ / String in
byte [ ] f i e l d _ v a l u e
/ / Block in
);

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field
181

CALLING FROM C#

Return Code:
negative for error, 0 for success

addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using s s a ;
public void a d d r _ s e t _ l i n e s (
byte [ ] l i n e _ 1 ,
byte [ ] l i n e _ 2 ,
byte [ ] l i n e _ 3 ,
byte [ ] l i n e _ 4 ,
byte [ ] l i n e _ 5 ,
byte [ ] l i n e _ 6 ,
byte [ ] l i n e _ 7 ,
byte [ ] l i n e _ 8 ,
byte [ ] l i n e _ 9 ,
byte [ ] l i n e _ 1 0
);

//
//
//
//
//
//
//
//
//
//

Block
Block
Block
Block
Block
Block
Block
Block
Block
Block

in
in
in
in
in
in
in
in
in
in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success
addr_set_lines

182

addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
using s s a ;
public void a d d r _ s e t _ o p t i o n (
s t r i n g param ,
s t r i n g value
);

/ / String in
/ / String in

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
using s s a ;
public void
ref
ref
ref
ref
ref
);

addr_std (
s t r i n g firm_name ,
string urbanization ,
s t r i n g address_one ,
s t r i n g address_two ,
string last_line

//
//
//
//
//

String
String
String
String
String

io
io
io
io
io

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
183

CALLING FROM C#

address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

addr_validate
Description:
Use this function to validate an address

Prototype:
using s s a ;
public s t r u c t a d d r _ v a l i d a t e _ s t r u c t a d d r _ v a l i d a t e ( ) ;

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

disconnect
Description:
Releases resources allocated to a socket.
addr_validate

184

Prototype:
using s s a ;
public void d i s c o n n e c t ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
using s s a ;
public s t r i n g e r r o r _ g e t ( ) ;

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

185

CALLING FROM C#

Prototype:
using s s a ;
public s t r i n g e r r o r s _ g e t _ a l l ( ) ;

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

identify
Description:
Identify a session to the console

Prototype:
using s s a ;
public void i d e n t i f y (
string
identification
);

/ / String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
using s s a ;
public i n t i s _ l i t t l e _ e n d i a n ( ) ;

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others
identify

186

Return Code:
negative for error, 0 for success

match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
using s s a ;
public byte [ ] [ ]
string
string
byte [ ]
byte [ ]
);

match_explain (
search ,
/ / String in
match_tolerance , / / S t r i n g in
searchrec ,
/ / Block in
filerec
/ / Block in

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
187

CALLING FROM C#

using s s a ;
public i n t match_explain_count (
string search
/ / String in
);

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
using s s a ;
public void p i d _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
using s s a ;
public i n t pid_member_count (
byte [ ] p r e f i x ,
int
cluster_num
);

/ / Block in
/ / Long i n

pid_close

188

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
using s s a ;
public s t r u c t pid_member_get_struct pid_member_get (
byte [ ] p r e f i x ,
/ / Block in
int
cluster_num
/ / Long i n
);

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

pid_open
Description:
Open resources for use with Persistent-ID.
189

CALLING FROM C#

Prototype:
using s s a ;
public void pid_open (
string multi_search
);

/ / String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
using s s a ;
public s t r u c t p i d _ s e a r c h _ g e t _ s t r u c t p i d _ s e a r c h _ g e t (
string search
/ / String in
);

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".
pid_search_get

190

pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
using s s a ;
public s t r u c t p i d _ s e a r c h _ g e t _ c l u s t e r s _ s t r u c t p i d _ s e a r c h _ g e t _ c l u s t e r s (
s t r i n g search ,
/ / String in
int
file_recid
/ / Long i n
);

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
using s s a ;
public byte [ ] [ ] p i d _ s r c _ p k _ g e t ( ) ;

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
191

CALLING FROM C#

pid_src_pk_start
Description:
Search for persistent ids

Prototype:
using s s a ;
public void p i d _ s r c _ p k _ s t a r t (
string multi_search ,
byte [ ] [ [ ] src_pk
);

/ / String in
/ / BlockArray in

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
using s s a ;
public s t r u c t p s _ g e t _ e n t i t y _ l i s t _ s t r u c t p s _ g e t _ e n t i t y _ l i s t ( ) ;

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ps_get_entity_max_elements
Description:
Retrieves number of entity array elements
pid_src_pk_start

192

Prototype:
using s s a ;
public i n t p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
s t r i n g type
/ / String in
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
using s s a ;
public i n t p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
s t r i n g type
/ / String in
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ps_parse
Description:
Parse, Standardize and Format API
193

CALLING FROM C#

Prototype:
using s s a ;
public byte [ ] [ ] ps_parse (
st ri ng operation ,
byte [ ] input ,
r e f byte [ ] [ ] gross ,
r e f byte [ ] [ ] f i n e ,
r e f byte [ ] [ ] standard
);

/ / String in
/ / Block in
/ / BlockArray io
/ / BlockArray io
/ / BlockArray io

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
using s s a ;
public void p s _ s e t _ e n c o d i n g (
int
encoding
);

/ / Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success
ps_set_encoding

194

ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
using s s a ;
public void p s _ s e t _ e n t i t y _ l i s t (
s t r i n g type ,
/ / String in
string [ ] e n t i t y _ l i s t
/ / StringArray in
);

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
using s s a ;
public void p s _ s e t _ p o p u l a t i o n (
s t r i n g system ,
/ / String in
s t r i n g population
/ / String in
);

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success
195

CALLING FROM C#

real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
using s s a ;
public i n t r e a l _ t i m e _ a s y n c _ g e t (
string reference ,
/ / String in
int
block
/ / Long i n
);

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet

real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
using s s a ;
public s t r i n g r e a l _ t i m e _ a s y n c _ s t a r t (
string rulebase ,
/ / String in
s t r i n g system ,
/ / String in
s t r i n g IDT ,
/ / String in
s t r i n g sequence_number , / / S t r i n g i n
st ri ng operation ,
/ / String in
byte [ ] c l u s t e r _ r e c o r d , / / B l o c k i n
real_time_async_get

196

int
string
int

source ,
multi_search ,
input_id

/ / Long i n
/ / String in
/ / Long i n

);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.
197

CALLING FROM C#

This call must be followed by

Prototype:
using s s a ;
public void r e a l _ t i m e _ f l u l _ a d d
string rule_type ,
byte [ ] s u b j e c t _ r e c _ p k ,
string relationship ,
byte [ ] r e l a t e d _ r e c _ p k
);

(
//
//
//
//

String in
Block in
String in
Block in

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
using s s a ;
public void r e a l _ t i m e _ f l u l _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success
real_time_flul_close

198

real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
using s s a ;
public void r e a l _ t i m e _ f l u l _ d e l e t e (
int
r u l e _ t y p e _ o p t i o n , / / Long i n
byte [ ] record_pk
/ / Block in
);

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
using s s a ;
public void r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
byte [ ] i d t _ r e c ,
/ / Block in
int
option
/ / Long i n
);

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.
199

CALLING FROM C#

Return Code:
negative for error, 0 for success

real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
using s s a ;
public byte [ ] r e a l _ t i m e _ f l u l _ g e t _ r u l e ( ) ;

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
using s s a ;
public void r e a l _ t i m e _ f l u l _ i n i t (
s t r i n g idt_name ,
/ / String in
string multi_search
/ / String in
);

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.
real_time_flul_get_rule

200

Return Code:
negative for error, 0 for success

real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
using s s a ;
public s t r u c t r e a l _ t i m e _ s y n c _ g e t _ s t r u c t r e a l _ t i m e _ s y n c _ g e t (
string reference
/ / String in
);

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
201

CALLING FROM C#

using s s a ;
public s t r u c t r e a l _ t i m e _ s y n c _ s t a r t _ s t r u c t r e a l _ t i m e _ s y n c _ s t a r t (
string rulebase ,
/ / String in
s t r i n g system ,
/ / String in
s t r i n g IDT ,
/ / String in
s t r i n g sequence_number , / / S t r i n g i n
st ri ng operation ,
/ / String in
byte [ ] c l u s t e r _ r e c o r d
/ / Block in
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.
real_time_sync_start

202

scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
using s s a ;
public i n t [ ] s c o r e s _ g e t (
s t r i n g searchname
);

/ / String in

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
using s s a ;
public s t r i n g search_comment_get (
s t r i n g searchname
/ / String in
);

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.
203

CALLING FROM C#

Return Code:
negative for error, 0 for success

search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
using s s a ;
public void s e a r c h _ d e d u p e _ s t a r t
s t r i n g search ,
s t r i n g search_width ,
s t r i n g match_tolerance ,
byte [ ] [ [ ] parameters ,
r e f byte [ ] s e a r c h r e c ,
s t r i n g AnswersetName ,
int
flags ,
ref int recid ,
ref int recs
);

(
/ / String in
/ / String in
/ / String in
/ / BlockArray in
/ / Block io
/ / String in
/ / Long i n
/ / Long i o
/ / Long i o

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.
search_dedupe_start

204

search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using s s a ;
public i n t s e a r c h _ f i e l d s _ c o u n t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using s s a ;
public s t r i n g [ ] s e a r c h _ f i e l d s _ g e t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success
205

CALLING FROM C#

search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
using s s a ;
public void s e a r c h _ f i l t e r (
s t r i n g search ,
string
filter
);

/ / String in
/ / String in

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
using s s a ;
public void s e a r c h _ f i n i s h (
string search
);

/ / String in

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success
search_filter

206

search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
using s s a ;
public s t r u c t s e a r c h _ g e t _ s t r u c t s e a r c h _ g e t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.
207

CALLING FROM C#

Prototype:
using s s a ;
public s t r u c t s e a r c h _ g e t _ c o m p l e t e _ s t r u c t s e a r c h _ g e t _ c o m p l e t e (
string search
/ / String in
);

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
using s s a ;
public s t r u c t s e a r c h _ g e t _ d e t a i l _ s t r u c t s e a r c h _ g e t _ d e t a i l (
string search
/ / String in
);

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
search_get_detail

208

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
using s s a ;
public s t r i n g search_IDT_get (
s t r i n g searchname
);

/ / String in

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
using s s a ;
public s t r u c t s e a r c h _ l a y o u t _ s t r u c t
s t r i n g search ,
//
s t r i n g viewType ,
//
s t r i n g func
//
);

search_layout (
String in
String in
String in

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
209

CALLING FROM C#

func describes the order of fields.


names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

search_start

210

Prototype:
using s s a ;
public i n t s e a r c h _ s t a r t (
s t r i n g search ,
//
s t r i n g search_width ,
//
s t r i n g match_tolerance , / /
byte [ ] [ [ ] parameters ,
r e f byte [ ] s e a r c h r e c ,
s t r i n g AnswersetName ,
//
byte [ ] [ [ ] r e c o r d s
);

String in
String in
String in
/ / BlockArray in
/ / Block io
String in
/ / BlockArray in

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
211

CALLING FROM C#

Prototype:
using s s a ;
public i n t s e a r c h _ t o l e r a n c e s _ c o u n t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
using s s a ;
public s t r i n g [ ] s e a r c h _ t o l e r a n c e s _ g e t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.
search_tolerances_get

212

Prototype:
using s s a ;
public s t r u c t s e a r c h _ v i e w _ g e t _ s t r u c t s e a r c h _ v i e w _ g e t (
s t r i n g search ,
/ / String in
s t r i n g viewType
/ / String in
);

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

search_view_set
Description:
Sets a view as the active input or output view

Prototype:
using s s a ;
public void s e a r c h _ v i e w _ s e t (
s t r i n g search ,
s t r i n g viewType ,
s t r i n g viewName
);

/ / String in
/ / String in
/ / String in

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success
213

CALLING FROM C#

search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
using s s a ;
public i n t se arc h_w id ths _co unt (
s t r i n g searchname
/ / String in
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
using s s a ;
public s t r i n g [ ] s e a r c h _ w i d t h s _ g e t (
s t r i n g searchname
/ / String in
);

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success
search_widths_count

214

server_version_get
Description:
Get the version information associated with the server.

Prototype:
using s s a ;
public s t r i n g s e r v e r _ v e r s i o n _ g e t ( ) ;

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
using s s a ;
public void s e s s i o n _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.
215

CALLING FROM C#

Prototype:
using s s a ;
public void s e s s i o n _ o p e n (
ref int session
);

/ / Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
using s s a ;
public void s e t _ e n c o d i n g (
int
encoding
);

/ / Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.
set_encoding

216

Prototype:
using s s a ;
public void set_vpd_user (
s t r i n g vpd_user ,
s t r i n g vpd_ctx
);

/ / String in
/ / String in

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

system_close
Description:
closes the system and frees any remaining resources.

Prototype:
using s s a ;
public void s y s t e m _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
public i n t system_idtname_count ( ) ;
217

CALLING FROM C#

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
public s t r i n g [ ] system_idtname_get ( ) ;

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

system_notify
Description:
Notifies search server on a system.

Prototype:
using s s a ;
public void s y s t e m _ n o t i f y (
string rulebase ,
s t r i n g sysname ,
s t r i n g message
);

/ / String in
/ / String in
/ / String in

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered
system_idtname_get

218

Return Code:
negative for error, 0 for success

system_open
Description:
opens a system.

Prototype:
using s s a ;
public void system_open (
string rulebase ,
s t r i n g system ,
string verbosity ,
s t r i n g Options
);

//
//
//
//

String
String
String
String

in
in
in
in

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.
219

CALLING FROM C#

Prototype:
using s s a ;
public i n t s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( ) ;

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
using s s a ;
public s t r u c t s y s t e m _ p i d _ s e a r c h e s _ g e t _ s t r u c t s y s t e m _ p i d _ s e a r c h e s _ g e t ( ) ;

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

system_search_finish
Description:
Finishes the search and closes the system.
system_pid_searches_get

220

Prototype:
using s s a ;
public void s y s t e m _ s e a r c h _ f i n i s h ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
using s s a ;
public s t r u c t s y s t e m _ s e a r c h _ s t a r t _ s t r u c t s y s t e m _ s e a r c h _ s t a r t (
string rulebase ,
/ / String in
s t r i n g system ,
/ / String in
string verbosity ,
/ / String in
s t r i n g options ,
/ / String in
s t r i n g search ,
/ / String in
byte [ ] [ [ ] parameters ,
/ / BlockArray in
s t r i n g AnswersetName
/ / String in
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria
221

CALLING FROM C#

Return Code:
negative for error, 0 for success

system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
using s s a ;
public i n t s y s t e m _ s e a r c h e s _ c o u n t ( ) ;

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
using s s a ;
public s t r i n g [ ] s y s t e m _ s e a r c h e s _ g e t ( ) ;

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success
system_searches_count

222

systems_count
Description:
the number of systems in the rulebase.

Prototype:
using s s a ;
public i n t systems_count (
string rulebase
);

/ / String in

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
using s s a ;
public s t r i n g [ ] s y s t e m s _ g e t (
string rulebase
);

/ / String in

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

223

CALLING FROM C#

Calling from Cobol (z/OS)


MDM-RE can be called from MVS Cobol under TSO, batch and/or CICS .
Static calls from Cobol are supported by including the copy book %SSAINC%\ssasecbs.cpy in the
Working-Storage section of a program.
Dynamic calls from Cobol are supported by including the copy books

ssasecbw.cpy in the Working-Storage section, and

ssasecbp.cpy in the Procedure Division.

Two sample programs are provided. idscob1.cob demonstrates calls from TSO/batch and
idscob2.cob is suitable for calls from CICS. These are built using the sample JCL, clcob1.jcl and
clcob2.jcl respectively.
To use MDM-RE from TSO/batch user applications you need to have Language Environment support.
This is required to run Cobol programs compiled with the more recent LE/370 Cobol compilers.
Language Environment and TCP/IP (CICS Sockets) must be installed and enabled in CICS in order to
use the MDM-RE CICS API.

Constants
Constants are declared as variables in Working-Storage, in uppercase using hyphens. Constants are
prefixed with SSA-, eg. SSA-MSG-SIZE.

Installation
Two load dataset files are provided in TSO Transmit format. The following two dataset files are not
part of the standard release package and must be requested from Global Customer Support if required.

ssa.xmit.iss\ssaversion{}.load
ssa.xmit.iss\ssaversion{}.cics.load

These datasets should be transferred to MVS datasets using the TSO Receive facility and named
SSA.MDM-RE9.5.3.LOAD and SSA.MDM-RE9.5.3.CICS.LOAD respectively.

Installation (TSO/batch)
API programs must be linked with a stub called CIC001 in order to resolve the MDM-RE entry points. When using static calls from Cobol, the stub will dynamically load two other modules (SSASEA and SSAIOK) which must be present in the STEPLIB. These modules are found in
SSA.MDM-RE9.5.3.LOAD.
224

Installation (CICS) -static calls


If using static calls, API programs must be linked with a stub called CIC001 in order to resolve the
MDM-RE entry points. When using static calls from Cobol, the stub will dynamically load two other
modules (SSASEA and CSSAIOK) which must be defined to CICS. Note: these modules are different
than those provided for the TSO/batch interface.
To install, add the dataset SSA.MDM-RE9.5.3.CICS.LOAD to your CICS STEPLIB (DFHRPL).
Define SSASEA and CSSAIOK to your CICS environment.

Installation (CICS) - dynamic calls


To install, add the dataset SSA.MDM-RE9.5.3.CICS.LOAD to your CICS STEPLIB (DFHRPL).
Define CIC001, SSAN3FN, SSASEA and CSSAIOK to your CICS environment.

Defining programs to CICS


Use the CEDA commands: (use a group defined on your CICS system).
CEDA DEF PROGRAM(CSSAIOK) GROUP(SSAGROUP)
CEDA INS PROGRAM(CSSAIOK) GROUP(SSAGROUP)

Repeat for other three programs


Example Program Definition
VIEW PROGRAM(CSSAIOK) GROUP(SSAGROUP)
OBJECT CHARACTERISTICS CICS RELEASE = 0610
CEDA View PROGram( CSSAIOK )
PROGram : CSSAIOK
Group : SSAGROUP
DEscription :
Language : C
Cobol | Assembler | Le370 | C | Pli
RELoad : No
No | Yes
RESident : No
No | Yes
USAge :
Normal | Transient
USElpacopy : No
No | Yes
Status : Enabled
Enabled | Disabled
RSl : 00
0-24 | Public
CEdf : Yes
Yes | No
DAtalocation : Any
Below | Any
EXECKey : User
User | Cics
COncurrency : Quasirent Quasirent | Threadsafe
REMOTE ATTRIBUTES
DYnamic : No
No | Yes
+ REMOTESystem :

Parameter types
The API functions return a response code. A negative response code indicates a transport error, after
which the communication channel is closed and no further API calls can be made without reconnecting.
225

CALLING FROM COBOL (Z/OS)

IDS-ADDR-GET-CASS-FIELD
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
CALL IDSADDRGETCASSFIELD USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY VALUE
FIELDIDX ,
BY REFERENCE
FIELDVALUE,
BY VALUE
FIELDVALUESIZE
END CALL

Parameters:
SUGGEST-IDX Specifies the nth suggestion from which to get a cass field
FIELD-IDX Specifies a cass field within the nth suggestion
FIELD-VALUE The cass field value

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-CASS-FIELD-CNT
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
CALL IDSADDRGETCASSFIELDCNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
COUNT
END CALL

Parameters:
COUNT Returns the max number of cass address fields
IDS-ADDR-GET-CASS-FIELD

226

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-CASS-FIELD-INFO
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
CALL IDSADDRGETCASSFIELDINFO USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY REFERENCE
FIELDLENGTH,
BY VALUE
FIELDLENGTHNUM
END CALL

Parameters:
SUGGEST-IDX Specifies the suggestion from which to retrieve information
FIELD-LENGTH An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-DEL-LINES-EXT
Description:
Use this function to retrieve delivery address line information

Prototype:
CALL IDSADDRGETDELLINESEXT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY VALUE
DELCASE,
BY REFERENCE
DELLINE1 ,
BY VALUE
DELLINE1SIZE ,
BY REFERENCE
DELLINE2 ,
BY VALUE
DELLINE2SIZE ,
BY REFERENCE
DELLINE3 ,
BY VALUE
DELLINE3SIZE ,
BY REFERENCE
DELLINE4 ,
227

CALLING FROM COBOL (Z/OS)

BY
BY
BY
BY
BY
END CALL

VALUE
REFERENCE
VALUE
REFERENCE
VALUE

DELLINE4SIZE ,
DELLINE5 ,
DELLINE5SIZE ,
DELLINE6 ,
DELLINE6SIZE

Parameters:
SUGGEST-IDX Specifies the suggestion from which to get delivery address lines
DEL-CASE Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
DEL-LINE1 delivery address line 1 output string
DEL-LINE2 delivery address line 2 output string
DEL-LINE3 delivery address line 3 output string
DEL-LINE4 delivery address line 4 output string
DEL-LINE5 delivery address line 5 output string
DEL-LINE6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
CALL IDSADDRGETFIELD
BY REFERENCE
BY VALUE
BY VALUE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
END CALL

USING
RC,
SOCKH,
SUGGESTIDX,
FIELDIDX ,
FIELDVALUE,
FIELDVALUESIZE ,
FIELDVALSTATUS,
FIELDVALMODS

Parameters:
SUGGEST-IDX Specifies the nth suggestion from which to get a field
IDS-ADDR-GET-FIELD

228

FIELD-IDX Specifies a field within the nth suggestion


FIELD-VALUE The field value
FIELD-VAL-STATUS Specifies how this field matched the validation data
FIELD-VAL-MODS Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD-COUNT
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
CALL IDSADDRGETFIELDCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
COUNT
END CALL

Parameters:
COUNT Returns the max number of address fields

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD-EXT
Description:
Use this function to retrieve all getter fields

Prototype:
CALL IDSADDRGETFIELDEXT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY VALUE
FIELDOPERATION,
BY REFERENCE
FIELDNAME,
BY VALUE
FIELDITEMLINE ,
229

CALLING FROM COBOL (Z/OS)

BY REFERENCE
BY REFERENCE
BY VALUE
END CALL

FIELDTYPE ,
FIELDVALUE,
FIELDVALUESIZE

Parameters:
SUGGEST-IDX Specifies the suggestion from which to get fields
FIELD-OPERATION Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
FIELD-NAME Refer AD Result.dtd for field names
FIELD-ITEM-LINE Represent field line number or field item number
FIELD-TYPE Refer AD Result.dtd for field attribute Type
FIELD-VALUE Cleansed field output

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD-IDX
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
CALL IDSADDRGETFIELDIDX USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY VALUE
FIELDIDX ,
BY REFERENCE
FIELDVALUE,
BY VALUE
FIELDVALUESIZE
END CALL

Parameters:
SUGGEST-IDX Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
FIELD-IDX Specifies a field within the nth suggestion
FIELD-VALUE The field value
IDS-ADDR-GET-FIELD-IDX

230

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD-INFO-EXT
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
CALL IDSADDRGETFIELDINFOEXT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
SUGGESTIDX,
BY REFERENCE
FIELDLENGTH,
BY VALUE
FIELDLENGTHNUM,
BY REFERENCE
ADDRLABELENCODED,
BY VALUE
ADDRLABELENCODEDSIZE,
BY REFERENCE
ADDRLABELCHARSET,
BY VALUE
ADDRLABELCHARSETSIZE,
BY REFERENCE
SCORE
END CALL

Parameters:
SUGGEST-IDX Specifies the suggestion from which to retrieve information
FIELD-LENGTH An array containing the length of each address field
ADDR-LABEL-ENCODED The returned label
ADDR-LABEL-CHARSET The character set used in the address label
SCORE The returned labels score

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-FIELD-LEN
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.
231

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSADDRGETFIELDLEN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
MAXLEN
END CALL

Parameters:
MAX-LEN Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-LINE-LEN
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
CALL IDSADDRGETLINELEN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
MAXLEN
END CALL

Parameters:
MAX-LEN Returns the max line length in bytes

Return Code:
negative for error, 0 for success

IDS-ADDR-GET-OPTION
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
IDS-ADDR-GET-LINE-LEN

232

Prototype:
CALL IDSADDRGETOPTION USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
PARAM,
BY REFERENCE
VALUE,
BY VALUE
VALUESIZE
END CALL

Parameters:
PARAM This field specifies the name of the option to get.
VALUE Returns the value of the option.

Return Code:
negative for error, 0 for success

IDS-ADDR-INFO
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
CALL IDSADDRINFO USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
CONTROLS,
BY REFERENCE
VALUE,
BY VALUE
VALUESIZE
END CALL

Parameters:
CONTROLS this field contains the request information. It must me specified in the form ITEM=[value].
VALUE this field contains the requested information.

Return Code:
negative for error, 0 for success

IDS-ADDR-INIT
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).
233

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSADDRINIT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
MAXMEMORY
END CALL

Parameters:
MAX-MEMORY This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

IDS-ADDR-PARSE
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
CALL IDSADDRPARSE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
FIELDLENGTH,
BY VALUE
FIELDLENGTHNUM
END CALL

Parameters:
FIELD-LENGTH An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

IDS-ADDR-PRELOAD-COUNTRY
Description:
Use this function to preload country database
IDS-ADDR-PARSE

234

Prototype:
CALL IDSADDRPRELOADCOUNTRY USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
PRELOADTYPE,
BY REFERENCE
PRELOADCOUNTRY,
BY REFERENCE
VALMODE
END CALL

Parameters:
PRELOAD-TYPE Type of preload to perform
PRELOAD-COUNTRY Country database to be preloaded
VAL-MODE Validation mode to be used

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-ATTRIB
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
CALL IDSADDRSETATTRIB USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
CHARSET,
BY REFERENCE
DEFAULTCOUNTRY
END CALL

Parameters:
CHAR-SET The name of the character set used to encode the input and output.
DEFAULT-COUNTRY The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success
235

CALLING FROM COBOL (Z/OS)

IDS-ADDR-SET-DEL-LINES
Description:
Use this function to set delivery address line information

Prototype:
CALL IDSADDRSETDELLINES USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
DELLINE1 ,
BY REFERENCE
DELLINE2 ,
BY REFERENCE
DELLINE3 ,
BY REFERENCE
DELLINE4 ,
BY REFERENCE
DELLINE5 ,
BY REFERENCE
DELLINE6
END CALL

Parameters:
DEL-LINE1 delivery address line 1 input string
DEL-LINE2 delivery address line 2 input string
DEL-LINE3 delivery address line 3 input string
DEL-LINE4 delivery address line 4 input string
DEL-LINE5 delivery address line 5 input string
DEL-LINE6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-FIELD-CASE
Description:
Use this function to set individual input fields case option

Prototype:
CALL IDSADDRSETFIELDCASE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
FIELDIDX ,
BY VALUE
FIELDCASE
END CALL
IDS-ADDR-SET-DEL-LINES

236

Parameters:
FIELD-IDX Specifies the nth field to set
FIELD-CASE Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-FIELD-EXT
Description:
Use this function to set fields

Prototype:
CALL IDSADDRSETFIELDEXT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
FIELDOPERATION,
BY REFERENCE
FIELDNAME,
BY VALUE
FIELDITEMLINE ,
BY REFERENCE
FIELDTYPE ,
BY REFERENCE
FIELDVALUE
END CALL

Parameters:
FIELD-OPERATION Field operation Option 0 for AddressElements Option 1 for AddressLines
FIELD-NAME Refer AD Result.dtd for field names
FIELD-ITEM-LINE Represent field line number or field item number
FIELD-TYPE Refer AD Result.dtd for field attribute Type
FIELD-VALUE input field value

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-FIELD-IDX
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.
237

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSADDRSETFIELDIDX USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
FIELDIDX ,
BY REFERENCE
FIELDVALUE
END CALL

Parameters:
FIELD-IDX Specifies the nth field to set
FIELD-VALUE Specifies a value for the nth field

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-FIELD-NAME
Description:
Use this function to set individual input fields by name

Prototype:
CALL IDSADDRSETFIELDNAME USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
FIELDNAME,
BY REFERENCE
FIELDVALUE
END CALL

Parameters:
FIELD-NAME Specifies the name of the field to set
FIELD-VALUE Specifies a value for the field

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-LINES
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.
IDS-ADDR-SET-FIELD-NAME

238

Prototype:
CALL IDSADDRSETLINES
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY REFERENCE
END CALL

USING
RC,
SOCKH,
LINE1 ,
LINE2 ,
LINE3 ,
LINE4 ,
LINE5 ,
LINE6 ,
LINE7 ,
LINE8 ,
LINE9 ,
LINE10

Parameters:
LINE-1 The first line of the address
LINE-2 The second line of the address
LINE-3 The third line of the address
LINE-4 The fourth line of the address
LINE-5 The fifth line of the address
LINE-6 The sixth line of the address
LINE-7 The seventh line of the address
LINE-8 The eighth line of the address
LINE-9 The ninth line of the address
LINE-10 The tenth line of the address

Return Code:
negative for error, 0 for success

IDS-ADDR-SET-OPTION
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
CALL IDSADDRSETOPTION USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
PARAM,
BY REFERENCE
VALUE
END CALL
239

CALLING FROM COBOL (Z/OS)

Parameters:
PARAM This field specifies the name of the option to set.
VALUE This field specifies a value for the option.

Return Code:
negative for error, 0 for success

IDS-ADDR-STD
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
CALL IDSADDRSTD USING
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
END CALL

RC,
SOCKH,
FIRMNAME,
FIRMNAMESIZE,
URBANIZATION,
URBANIZATIONSIZE,
ADDRESSONE,
ADDRESSONESIZE,
ADDRESSTWO,
ADDRESSTWOSIZE,
LASTLINE ,
LASTLINESIZE

Parameters:
FIRM-NAME It contains the name of the firm (may be blank).
URBANIZATION this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
ADDRESS-ONE this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
ADDRESS-TWO this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
LAST-LINE this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).
IDS-ADDR-STD

240

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

IDS-ADDR-VALIDATE
Description:
Use this function to validate an address

Prototype:
CALL IDSADDRVALIDATE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
STATUS,
BY REFERENCE
NSUGGEST
END CALL

Parameters:
STATUS The status returned by the validation process
N-SUGGEST The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

IDS-CONNECT
Description:
Initiates a socket.

Prototype:
CALL IDSCONNECT USING
BY REFERENCE
BY REFERENCE
BY VALUE
BY REFERENCE
END CALL

Parameters:
HOST is the host to connect to.
241

CALLING FROM COBOL (Z/OS)

RC,
HOST,
PORT,
SOCKH

PORT is the port to connect to.


SOCKH is a socket handle.

Return Code:
negative for error, 0 for success

IDS-DISCONNECT
Description:
Releases resources allocated to a socket.

Prototype:
CALL IDSDISCONNECT USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none

Return Code:
negative for error, 0 for success

IDS-ERROR-GET
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
CALL IDSERRORGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
MSG,
BY VALUE
MSGSIZE
END CALL

Parameters:
MSG is the error message returned
IDS-DISCONNECT

242

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

IDS-ERRORS-GET-ALL
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
CALL IDSERRORSGETALL
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
END CALL

USING
RC,
SOCKH,
MSG,
MSGSIZE

Parameters:
MSG is an error message.

Return Code:
negative for error, 0 for success

IDS-IDENTIFY
Description:
Identify a session to the console

Prototype:
CALL IDSIDENTIFY USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDENTIFICATION
END CALL

Parameters:
IDENTIFICATION is user supplied identitification for display on the console
243

CALLING FROM COBOL (Z/OS)

Return Code:
negative for error, 0 for success

IDS-IS-LITTLE-ENDIAN
Description:
Checks if the search server is running on a little endian platform

Prototype:
CALL IDSISLITTLEENDIAN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
ENDIANSTATE
END CALL

Parameters:
ENDIAN-STATE Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

IDS-MATCH-EXPLAIN
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
CALL IDSMATCHEXPLAIN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
MATCHTOLERANCE,
BY REFERENCE
SEARCHREC,
BY REFERENCE
FILEREC ,
BY REFERENCE
INFOARRAY,
BY VALUE
INFOARRAYNUM,
BY VALUE
INFOARRAYSIZE
END CALL
IDS-IS-LITTLE-ENDIAN

244

Parameters:
SEARCH is the name of the Search which was performed.
MATCH-TOLERANCE specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
SEARCHREC is the IDT record used to search with. It is returned by the Search Server.
FILEREC is the record to be matched agains the searchrec
INFO-ARRAY An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

IDS-MATCH-EXPLAIN-COUNT
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
CALL IDSMATCHEXPLAINCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
COUNT
END CALL

Parameters:
SEARCH is the name of the Search which was performed.
COUNT Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

IDS-PID-CLOSE
Description:
Closes resources opened with the ids_pid_open call.
245

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSPIDCLOSE USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none

Return Code:
negative for error, 0 for success

IDS-PID-MEMBER-COUNT
Description:
Retrieve the number of member records in a cluster

Prototype:
CALL IDSPIDMEMBERCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
PREFIX ,
BY VALUE
CLUSTERNUM,
BY REFERENCE
COUNT
END CALL

Parameters:
PREFIX is the persistent ID prefix for the cluster to look up.
CLUSTER-NUM is the cluster number for the cluster to look up.
COUNT the number of member records found for the cluster

Return Code:
negative for error, 0 for success

IDS-PID-MEMBER-GET
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
IDS-PID-MEMBER-COUNT

246

Prototype:
CALL IDSPIDMEMBERGET
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY REFERENCE
END CALL

USING
RC,
SOCKH,
PREFIX ,
CLUSTERNUM,
RECORD,
RECORDSIZE,
RECID

Parameters:
PREFIX is the persistent ID prefix for the cluster.
CLUSTER-NUM cluster_num is the cluster number for the cluster.
RECORD the member record in IDT layout.
RECID is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

IDS-PID-OPEN
Description:
Open resources for use with Persistent-ID.

Prototype:
CALL IDSPIDOPEN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
MULTISEARCH
END CALL

Parameters:
MULTI-SEARCH is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success
247

CALLING FROM COBOL (Z/OS)

IDS-PID-SEARCH-GET
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
CALL IDSPIDSEARCHGET
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
END CALL

USING
RC,
SOCKH,
SEARCH,
FILEREC ,
FILERECSIZE ,
SCORE,
DECISION ,
DECISIONSIZE ,
FILERECID ,
CLUSTERCOUNT

Parameters:
SEARCH is the name of the Search which was performed.
FILE-REC is the matched File record.
SCORE is the degree of similarity between the Search and File records (0-100).
DECISION is the match decision: A(ccept) or U(ndecided)
FILE-RECID is the File Record-ID (corresponding to the RECID column from the IDT).
CLUSTER-COUNT is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

IDS-PID-SEARCH-GET-CLUSTERS
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
IDS-PID-SEARCH-GET

248

CALL IDSPIDSEARCHGETCLUSTERS USING


BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY VALUE
FILERECID ,
BY REFERENCE
PREFIXS ,
BY VALUE
PREFIXSNUM,
BY VALUE
PREFIXSSIZE ,
BY REFERENCE
CLUSTERNUMS,
BY VALUE
CLUSTERNUMSNUM
END CALL

Parameters:
SEARCH is the name of the Search which was performed.
FILE-RECID is the Preferred Record-ID (corresponding to the RECID column from the IDT).
PREFIXS is the prefix for the associated cluster
CLUSTER-NUMS is the number for the asociated cluster

Return Code:
negative for error, 0 for success

IDS-PID-SRC-PK-GET
Description:
Get persistent ids one at a time

Prototype:
CALL IDSPIDSRCPKGET
BY REFERENCE
BY VALUE
BY REFERENCE
BY VALUE
BY VALUE
END CALL

USING
RC,
SOCKH,
SRCPKVALUE,
SRCPKVALUENUM,
SRCPKVALUESIZE

Parameters:
SRC-PK-VALUE the values of primary keys from the source table

Return Code:
negative for error, 0 for success
249

CALLING FROM COBOL (Z/OS)

IDS-PID-SRC-PK-START
Description:
Search for persistent ids

Prototype:
CALL IDSPIDSRCPKSTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
MULTISEARCH,
BY REFERENCE
SRCPK
END CALL

Parameters:
MULTI-SEARCH the name of the multi-search
SRC-PK the values of primary keys from the source table

Return Code:
negative for error, 0 for success

IDS-PS-GET-ENTITY-LIST
Description:
Retrieves entity names supported by the current population

Prototype:
CALL IDSPSGETENTITYLIST USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
GROSSNAMES,
BY VALUE
GROSSNAMESNUM,
BY VALUE
GROSSNAMESSIZE,
BY REFERENCE
FINENAMES,
BY VALUE
FINENAMESNUM,
BY VALUE
FINENAMESSIZE
END CALL

Parameters:
GROSS-NAMES List of Gross entity names
FINE-NAMES List of Fine entity names

Return Code:
negative for error, 0 for success
IDS-PID-SRC-PK-START

250

IDS-PS-GET-ENTITY-MAX-ELEMENTS
Description:
Retrieves number of entity array elements

Prototype:
CALL IDSPSGETENTITYMAXELEMENTS USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
TYPE ,
BY REFERENCE
ELEMENTS
END CALL

Parameters:
TYPE Type of entity: Input, Gross, Fine, Standard, Format
ELEMENTS maximum number of occurrences

Return Code:
negative for error, 0 for success

IDS-PS-GET-ENTITY-MAX-LENGTH
Description:
Retrieves maximum length of an entity value

Prototype:
CALL IDSPSGETENTITYMAXLENGTH USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
TYPE ,
BY REFERENCE
LENGTH
END CALL

Parameters:
TYPE Type of entity: Input, Gross, Fine, Standard, Format
LENGTH maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success
251

CALLING FROM COBOL (Z/OS)

IDS-PS-PARSE
Description:
Parse, Standardize and Format API

Prototype:
CALL IDSPSPARSE USING
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
BY REFERENCE
BY VALUE
BY VALUE
BY REFERENCE
BY VALUE
BY VALUE
BY REFERENCE
BY VALUE
BY VALUE
BY REFERENCE
BY VALUE
BY VALUE
END CALL

RC,
SOCKH,
OPERATION,
INPUT,
GROSS,
GROSSNUM,
GROSSSIZE ,
FINE ,
FINENUM,
FINESIZE ,
STANDARD,
STANDARDNUM,
STANDARDSIZE,
PSFORMAT,
PSFORMATNUM,
PSFORMATSIZE

Parameters:
OPERATION The operation(s) to perform: G, F, S, M
INPUT Unparsed input string
GROSS Gross entities used as input or output
FINE Fine entities used as input or output
STANDARD Standardized entities used as input or output
PS-FORMAT Formatted output string

Return Code:
negative for error, 0 for success

IDS-PS-SET-ENCODING
Description:
Defines encoding used for the input/output data
IDS-PS-PARSE

252

Prototype:
CALL IDSPSSETENCODING USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
ENCODING
END CALL

Parameters:
ENCODING 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

IDS-PS-SET-ENTITY-LIST
Description:
Defines a subset of entities for input/output

Prototype:
CALL IDSPSSETENTITYLIST USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
TYPE ,
BY REFERENCE
ENTITYLIST
END CALL

Parameters:
TYPE Type of entity: Gross or Fine
ENTITY-LIST List of entity names

Return Code:
negative for error, 0 for success

IDS-PS-SET-POPULATION
Description:
Defines the System and Population used for parsing rules
253

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSPSSETPOPULATION USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SYSTEM ,
BY REFERENCE
POPULATION
END CALL

Parameters:
SYSTEM System Name
POPULATION Specifies a Population within the System

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-ASYNC-GET
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
CALL IDSREALTIMEASYNCGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
REFERENCE,
BY VALUE
BLOCK,
BY REFERENCE
CLUSTERACTIONCOUNT
END CALL

Parameters:
REFERENCE A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

BLOCK 1 = wait for a response 0 = return immediately if no results are available yet
CLUSTER-ACTION-COUNT The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
IDS-REAL-TIME-ASYNC-GET

254

IDS-REAL-TIME-ASYNC-START
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
CALL IDSREALTIMEASYNCSTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEM ,
BY REFERENCE
IDT ,
BY REFERENCE
SEQUENCENUMBER,
BY REFERENCE
OPERATION,
BY REFERENCE
CLUSTERRECORD,
BY VALUE
SOURCE,
BY REFERENCE
MULTISEARCH,
BY VALUE
INPUTID ,
BY REFERENCE
REFERENCE,
BY VALUE
REFERENCESIZE
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSTEM The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
SEQUENCE-NUMBER is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
OPERATION The synchronizer operation being performed: A for add or D for delete
CLUSTER-RECORD The record to be updated. The record must use the same layout as the IDT.
SOURCE Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
MULTI-SEARCH The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
INPUT-ID The cluster id or record id as appropriate
REFERENCE A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

Return Code:
negative for error
0 for success positive for warnings:
255

CALLING FROM COBOL (Z/OS)

This must be passed to the

1-9 Reserved for future use


10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

IDS-REAL-TIME-FLUL-ADD
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
CALL IDSREALTIMEFLULADD USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULETYPE,
BY REFERENCE
SUBJECTRECPK,
BY REFERENCE
RELATIONSHIP ,
BY REFERENCE
RELATEDRECPK
END CALL

Parameters:
RULE-TYPE This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
SUBJECT-REC-PK This field is for specifying the PK of the subject record
RELATIONSHIP This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
RELATED-REC-PK This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

IDS-REAL-TIME-FLUL-CLOSE
Description:
This API used to close and release force link and unlink module.
IDS-REAL-TIME-FLUL-ADD

256

Prototype:
CALL IDSREALTIMEFLULCLOSE USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-FLUL-DELETE
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
CALL IDSREALTIMEFLULDELETE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
RULETYPEOPTION,
BY REFERENCE
RECORDPK
END CALL

Parameters:
RULE-TYPE-OPTION

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
RECORD-PK This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-FLUL-FIND-RULE
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
257

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSREALTIMEFLULFINDRULE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDTREC ,
BY VALUE
OPTION
END CALL

Parameters:
IDT-REC This field is for specifying the PK of the record to be searched
OPTION

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-FLUL-GET-RULE
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
CALL IDSREALTIMEFLULGETRULE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDTREC ,
BY VALUE
IDTRECSIZE
END CALL

Parameters:
IDT-REC is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-FLUL-INIT
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
IDS-REAL-TIME-FLUL-GET-RULE

258

Prototype:
CALL IDSREALTIMEFLULINIT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDTNAME,
BY REFERENCE
MULTISEARCH
END CALL

Parameters:
IDT-NAME is the name of the IDT associated with the force link and unlink rule.
MULTI-SEARCH The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

IDS-REAL-TIME-SYNC-GET
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
CALL IDSREALTIMESYNCGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
REFERENCE,
BY REFERENCE
CLUSTERACTIONTYPE,
BY VALUE
CLUSTERACTIONTYPESIZE,
BY REFERENCE
CLUSTERACTIONID,
BY VALUE
CLUSTERACTIONIDSIZE,
BY REFERENCE
CLUSTERACTIONNUMBER,
BY REFERENCE
CLUSTERACTIONNEW,
BY VALUE
CLUSTERACTIONNEWSIZE
END CALL

Parameters:
REFERENCE A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

CLUSTER-ACTION-TYPE Identifies the action, ie add or delete


CLUSTER-ACTION-ID The prefix which identifies the cluster
CLUSTER-ACTION-NUMBER The number which identifies the cluster
CLUSTER-ACTION-NEW Identifies whether the cluster is newly formed or existing
259

CALLING FROM COBOL (Z/OS)

Return Code:
negative for error, 0 for success, 1 for end of results

IDS-REAL-TIME-SYNC-START
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
CALL IDSREALTIMESYNCSTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEM ,
BY REFERENCE
IDT ,
BY REFERENCE
SEQUENCENUMBER,
BY REFERENCE
OPERATION,
BY REFERENCE
CLUSTERRECORD,
BY REFERENCE
CLUSTERACTIONCOUNT,
BY REFERENCE
REFERENCE,
BY VALUE
REFERENCESIZE
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSTEM The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
SEQUENCE-NUMBER is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
OPERATION The synchronizer operation being performed: A for add or D for delete
CLUSTER-RECORD The record to be updated. The record must use the same layout as the IDT.
CLUSTER-ACTION-COUNT The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
REFERENCE A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
IDS-REAL-TIME-SYNC-START

260

1-9 Reserved for future use


10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

IDS-SCORES-GET
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
CALL IDSSCORESGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
SCORES ,
BY VALUE
SCORESNUM
END CALL

Parameters:
SEARCHNAME is the name of the associated search
SCORES is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

IDS-SEARCH-COMMENT-GET
Description:
Returns the user defined comment stored with the search.
261

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSSEARCHCOMMENTGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
COMMENT,
BY VALUE
COMMENTSIZE
END CALL

Parameters:
SEARCHNAME the search to count.
COMMENT is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

IDS-SEARCH-DEDUPE-START
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
CALL IDSSEARCHDEDUPESTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
SEARCHWIDTH,
BY REFERENCE
MATCHTOLERANCE,
BY REFERENCE
PARAMETERS,
BY REFERENCE
SEARCHREC,
BY VALUE
SEARCHRECSIZE,
BY REFERENCE
ANSWERSETNAME,
BY VALUE
FLAGS ,
BY REFERENCE
RECID ,
BY REFERENCE
RECS
END CALL

Parameters:
SEARCH is the name of the search that is to be performed.
SEARCH-WIDTH specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
MATCH-TOLERANCE specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
PARAMETERS not used.
IDS-SEARCH-DEDUPE-START

262

SEARCHREC is the IDT record used to search with. It is returned by the Search Server.
ANSWERSETNAME is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
FLAGS flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
RECID the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
RECS the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

IDS-SEARCH-FIELDS-COUNT
Description:
Gets the number of fields required to assemble the search record.

Prototype:
CALL IDSSEARCHFIELDSCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
FC
END CALL

Parameters:
SEARCHNAME the search to count.
FC is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

IDS-SEARCH-FIELDS-GET
Description:
Gets the number of fields required to assemble the search record.
263

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSSEARCHFIELDSGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
FIELDNAMES,
BY VALUE
FIELDNAMESNUM,
BY VALUE
FIELDNAMESSIZE
END CALL

Parameters:
SEARCHNAME the search to count.
FIELDNAMES is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

IDS-SEARCH-FILTER
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
CALL IDSSEARCHFILTER USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
FILTER
END CALL

Parameters:
SEARCH is the name of the Search that will use the filter
FILTER is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

IDS-SEARCH-FINISH
Description:
Release resources associated with ids_search_start.
IDS-SEARCH-FILTER

264

Prototype:
CALL IDSSEARCHFINISH USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH
END CALL

Parameters:
SEARCH is the name of the search that was performed

Return Code:
negative for error, 0 for success

IDS-SEARCH-GET
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
CALL IDSSEARCHGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
SEARCHRETURN,
BY VALUE
SEARCHRETURNSIZE,
BY REFERENCE
SCORE,
BY REFERENCE
SREPS ,
BY VALUE
SREPSNUM,
BY REFERENCE
FREPS ,
BY VALUE
FREPSNUM
END CALL

Parameters:
SEARCHNAME is the name the search to used by the call.
SEARCHRETURN is an area into which a string from the set is copied.
SCORE is the score calculated for the string.
SREPS is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

265

CALLING FROM COBOL (Z/OS)

FREPS is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

IDS-SEARCH-GET-COMPLETE
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
CALL IDSSEARCHGETCOMPLETE USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
SEARCHRETURN,
BY VALUE
SEARCHRETURNSIZE,
BY REFERENCE
SCORE,
BY REFERENCE
INFO ,
BY VALUE
INFOSIZE
END CALL

Parameters:
SEARCH is the name of the search which was performed.
SEARCHRETURN is an area into which a string from the set is copied.
SCORE is the score calculated for the string.
INFO an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.
IDS-SEARCH-GET-COMPLETE

266

Return Code:
negative for error, 0 for success, and 1 for "end of set".

IDS-SEARCH-GET-DETAIL
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
CALL IDSSEARCHGETDETAIL USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
FILEREC ,
BY VALUE
FILERECSIZE ,
BY REFERENCE
SCORE,
BY REFERENCE
DECISION ,
BY VALUE
DECISIONSIZE ,
BY REFERENCE
FILERECID
END CALL

Parameters:
SEARCH is the name of the Search which was performed.
FILE-REC is the matched File record.
SCORE is the degree of similarity between the Search and File records (0-100).
DECISION is the match decision: A(ccept) or U(ndecided)
FILE-RECID is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

IDS-SEARCH-IDT-GET
Description:
Gets the name of the IDT associated with the search.
267

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSSEARCHIDTGET
BY REFERENCE
BY VALUE
BY REFERENCE
BY REFERENCE
BY VALUE
END CALL

USING
RC,
SOCKH,
SEARCHNAME,
IDT ,
IDTSIZE

Parameters:
SEARCHNAME is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

IDS-SEARCH-LAYOUT
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
CALL IDSSEARCHLAYOUT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
VIEWTYPE ,
BY REFERENCE
FUNC,
BY REFERENCE
NAMES,
BY VALUE
NAMESNUM,
BY VALUE
NAMESSIZE,
BY REFERENCE
LENGTHS,
BY VALUE
LENGTHSNUM,
BY REFERENCE
OFFSETS ,
BY VALUE
OFFSETSNUM,
BY REFERENCE
REPEATS ,
BY VALUE
REPEATSNUM,
BY REFERENCE
FORMATS,
BY VALUE
FORMATSNUM,
BY VALUE
FORMATSSIZE
END CALL

Parameters:
SEARCH is the name of the Search which was performed.
VIEWTYPE the type of view: input or output.
IDS-SEARCH-LAYOUT

268

FUNC describes the order of fields.


NAMES is the area into which an array containing the fieldnames will be copied.
LENGTHS is the area into which an array containing the lengths of the fields will be copied.
OFFSETS is the area into which an array containing the offsets of the fields will be copied.
REPEATS is the area into which an array containing the number of repeats in a field will be copied.
FORMATS is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

IDS-SEARCH-START
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

269

CALLING FROM COBOL (Z/OS)

Prototype:
CALL IDSSEARCHSTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
SEARCHWIDTH,
BY REFERENCE
MATCHTOLERANCE,
BY REFERENCE
PARAMETERS,
BY REFERENCE
SEARCHREC,
BY VALUE
SEARCHRECSIZE,
BY REFERENCE
ANSWERSETNAME,
BY REFERENCE
RECS ,
BY REFERENCE
RECORDS
END CALL

Parameters:
SEARCH is the name of the search to be performed.
SEARCH-WIDTH specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
MATCH-TOLERANCE specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
PARAMETERS contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
SEARCHREC is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
ANSWERSETNAME is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
RECS number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
RECORDS contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

IDS-SEARCH-TOLERANCES-COUNT
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
IDS-SEARCH-TOLERANCES-COUNT

270

Prototype:
CALL IDSSEARCHTOLERANCESCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
COUNT
END CALL

Parameters:
SEARCHNAME is the name the search to used by the call.
COUNT is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

IDS-SEARCH-TOLERANCES-GET
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
CALL IDSSEARCHTOLERANCESGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
TOLERANCES,
BY VALUE
TOLERANCESNUM,
BY VALUE
TOLERANCESSIZE
END CALL

Parameters:
SEARCHNAME the search to count.
TOLERANCES is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

IDS-SEARCH-VIEW-GET
271

CALLING FROM COBOL (Z/OS)

Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
CALL IDSSEARCHVIEWGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
VIEWTYPE ,
BY REFERENCE
VIEWNAME,
BY VALUE
VIEWNAMESIZE,
BY REFERENCE
VIEWFIELDCOUNT,
BY REFERENCE
VIEWRECLEN
END CALL

Parameters:
SEARCH is the name of the Search
VIEWTYPE the type of the view (input or output)
VIEWNAME is the name of the view to query
VIEWFIELDCOUNT the number of fields in the view
VIEWRECLEN is the length of the view

Return Code:
negative for error, 0 for success

IDS-SEARCH-VIEW-SET
Description:
Sets a view as the active input or output view

Prototype:
CALL IDSSEARCHVIEWSET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCH,
BY REFERENCE
VIEWTYPE ,
BY REFERENCE
VIEWNAME
END CALL

Parameters:
SEARCH is the name of the Search
IDS-SEARCH-VIEW-SET

272

VIEWTYPE the type of the view (input or output)


VIEWNAME the name of the view to use

Return Code:
negative for error, 0 for success

IDS-SEARCH-WIDTHS-COUNT
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
CALL IDSSEARCHWIDTHSCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
COUNT
END CALL

Parameters:
SEARCHNAME is the name the search to used by the call.
COUNT is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

IDS-SEARCH-WIDTHS-GET
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
CALL IDSSEARCHWIDTHSGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHNAME,
BY REFERENCE
WIDTHS,
BY VALUE
WIDTHSNUM,
BY VALUE
WIDTHSSIZE
END CALL
273

CALLING FROM COBOL (Z/OS)

Parameters:
SEARCHNAME is the name the search to used by the call.
WIDTHS is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

IDS-SERVER-VERSION-GET
Description:
Get the version information associated with the server.

Prototype:
CALL IDSSERVERVERSIONGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SERVERVERSION,
BY VALUE
SERVERVERSIONSIZE
END CALL

Parameters:
SERVER-VERSION is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

IDS-SESSION-CLOSE
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
CALL IDSSESSIONCLOSE USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none
IDS-SERVER-VERSION-GET

274

Return Code:
negative for error, 0 for success

IDS-SESSION-OPEN
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
CALL IDSSESSIONOPEN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SESSION
END CALL

Parameters:
SESSION is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

IDS-SET-ENCODING
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
CALL IDSSETENCODING USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY VALUE
ENCODING
END CALL
275

CALLING FROM COBOL (Z/OS)

Parameters:
ENCODING 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

IDS-SET-VPD-USER
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
CALL IDSSETVPDUSER USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
VPDUSER,
BY REFERENCE
VPDCTX
END CALL

Parameters:
VPD-USER Connection string of the actual user
VPD-CTX the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

IDS-SYSTEM-CLOSE
Description:
closes the system and frees any remaining resources.

Prototype:
CALL IDSSYSTEMCLOSE USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none
IDS-SET-VPD-USER

276

Return Code:
negative for error, 0 for success

IDS-SYSTEM-IDTNAME-COUNT
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
CALL IDSSYSTEMIDTNAMECOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDTCOUNT
END CALL

Parameters:
IDTCOUNT is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

IDS-SYSTEM-IDTNAME-GET
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
CALL IDSSYSTEMIDTNAMEGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
IDTNAMES,
BY VALUE
IDTNAMESNUM,
BY VALUE
IDTNAMESSIZE
END CALL

Parameters:
IDTNAMES is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success
277

CALLING FROM COBOL (Z/OS)

IDS-SYSTEM-NOTIFY
Description:
Notifies search server on a system.

Prototype:
CALL IDSSYSTEMNOTIFY USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSNAME,
BY REFERENCE
MESSAGE
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSNAME is the name of the system
MESSAGE is a messagevto be delivered

Return Code:
negative for error, 0 for success

IDS-SYSTEM-OPEN
Description:
opens a system.

Prototype:
CALL IDSSYSTEMOPEN USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEM ,
BY REFERENCE
VERBOSITY ,
BY REFERENCE
OPTIONS
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSTEM The name of the system in the rulebase
VERBOSITY specifies the verbosity level. See the Verbosity section for details.
IDS-SYSTEM-NOTIFY

278

OPTIONS

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

IDS-SYSTEM-PID-SEARCHES-COUNT
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
CALL IDSSYSTEMPIDSEARCHESCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHCOUNT
END CALL

Parameters:
SEARCHCOUNT is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

IDS-SYSTEM-PID-SEARCHES-GET
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
CALL IDSSYSTEMPIDSEARCHESGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHES,
BY VALUE
SEARCHESNUM,
BY VALUE
SEARCHESSIZE ,
279

CALLING FROM COBOL (Z/OS)

BY
BY
BY
BY
BY
BY
BY
END CALL

REFERENCE
VALUE
VALUE
REFERENCE
VALUE
REFERENCE
VALUE

PIDPREFIX ,
PIDPREFIXNUM,
PIDPREFIXSIZE ,
PIDOPTS ,
PIDOPTSNUM,
PREFRECOPTS,
PREFRECOPTSNUM

Parameters:
SEARCHES is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
PID-PREFIX the area in which the Persistent ID prefix for the searches will be copied
PID-OPTS the area into which an array containing the Persistent_ID options for each search will be
copied
PREF-REC-OPTS the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

IDS-SYSTEM-SEARCH-FINISH
Description:
Finishes the search and closes the system.

Prototype:
CALL IDSSYSTEMSEARCHFINISH USING
BY REFERENCE
RC,
BY VALUE
SOCKH
END CALL

Parameters:
none

Return Code:
negative for error, 0 for success

IDS-SYSTEM-SEARCH-START
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
IDS-SYSTEM-SEARCH-FINISH

280

Prototype:
CALL IDSSYSTEMSEARCHSTART USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEM ,
BY REFERENCE
VERBOSITY ,
BY REFERENCE
OPTIONS ,
BY REFERENCE
SEARCH,
BY REFERENCE
PARAMETERS,
BY REFERENCE
ANSWERSETNAME,
BY REFERENCE
DATALEN,
BY REFERENCE
RECS
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSTEM The name of the system in the rulebase
VERBOSITY specifies the verbosity level. See the Verbosity section for details.
OPTIONS consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
SEARCH is the name of the search in the system in the Rulebase that will be used.
PARAMETERS is the array which contains the field values to be used to construct the search.
ANSWERSETNAME is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
DATALEN will return the length of a record.
RECS count of records that matched the search criteria

Return Code:
negative for error, 0 for success

IDS-SYSTEM-SEARCHES-COUNT
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
CALL IDSSYSTEMSEARCHESCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHCOUNT
END CALL
281

CALLING FROM COBOL (Z/OS)

Parameters:
SEARCHCOUNT is the number of searches defined on the system

Return Code:
negative for error, 0 for success

IDS-SYSTEM-SEARCHES-GET
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
CALL IDSSYSTEMSEARCHESGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
SEARCHES,
BY VALUE
SEARCHESNUM,
BY VALUE
SEARCHESSIZE
END CALL

Parameters:
SEARCHES is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

IDS-SYSTEMS-COUNT
Description:
the number of systems in the rulebase.

Prototype:
CALL IDSSYSTEMSCOUNT USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEMSCOUNT
END CALL
IDS-SYSTEM-SEARCHES-GET

282

Parameters:
RULEBASE is the name of the rulebase.
SYSTEMSCOUNT the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

IDS-SYSTEMS-GET
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
CALL IDSSYSTEMSGET USING
BY REFERENCE
RC,
BY VALUE
SOCKH,
BY REFERENCE
RULEBASE,
BY REFERENCE
SYSTEMS ,
BY VALUE
SYSTEMSNUM,
BY VALUE
SYSTEMSSIZE
END CALL

Parameters:
RULEBASE is the name of the rulebase.
SYSTEMS is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

283

CALLING FROM COBOL (Z/OS)

Calling from ColdFusion with an ActiveX Control


The API functions are available in the ActiveX control ssasecf.ocx (located in the vb directory of
the Client and Developer Components installation). This control has two properties, RemoteHost and
RemotePort, and has the API functions as methods.
The ActiveX control does not need the sockh parameter.
If you have problems with an incompatible or nonexistent MSWINSCK.OCX, it is recommended
that this file be copied from a suitable Microsoft product (such as Internet Explorer 5+) to your
%SystemRoot%\system directory if it does not already exist there, or to the same directory that you
have installed SSASECF.OCX if it does. The ActiveX control can then be registered by running:
regsvr32 <path\to\mswinsck.ocx>

Constants
Constants are declared as member properties, in uppercase using underscores. Eg. ssa.MSG_SIZE

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d ( _
s u g g e s t _ i d x As Long , _
Long i n
f i e l d _ i d x As Long , _
Long i n
f i e l d _ v a l u e As Variant , _
Block out
f i e l d _ v a l u e _ s i z e As Long _
) As Long

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success
284

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t ( _
count As V a r i a n t _
Long o u t
) As Long

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
s u g g e s t _ i d x As Long , _
Long i n
f i e l d _ l e n g t h As Variant , _
LongArray o u t
f ie l d_ l en gt h _n u m As Long _
) As Long

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success
285

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Public Function i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t
s u g g e s t _ i d x As Long , _

d e l _ c a s e As Long , _

d e l _ l i n e 1 As Variant , _

d e l _ l i n e 1 _ s i z e As Long , _
d e l _ l i n e 2 As Variant , _

d e l _ l i n e 2 _ s i z e As Long , _
d e l _ l i n e 3 As Variant , _

d e l _ l i n e 3 _ s i z e As Long , _
d e l _ l i n e 4 As Variant , _

d e l _ l i n e 4 _ s i z e As Long , _
d e l _ l i n e 5 As Variant , _

d e l _ l i n e 5 _ s i z e As Long , _
d e l _ l i n e 6 As Variant , _

d e l _ l i n e 6 _ s i z e As Long _
) As Long

( _
Long i n
Long i n
Block out
Block out
Block out
Block out
Block out
Block out

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.
ids_addr_get_del_lines_ext

286

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d ( _
s u g g e s t _ i d x As Long , _
f i e l d _ i d x As Long , _
f i e l d _ v a l u e As Variant , _
f i e l d _ v a l u e _ s i z e As Long , _
f i e l d _ v a l _ s t a t u s As Variant , _
f i e l d _ v a l _ m o d s As V a r i a n t _
) As Long

Long i n
Long i n
Block out
Long o u t
Long o u t

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ c o u n t ( _
count As V a r i a n t _
Long o u t
) As Long

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields
287

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ e x t ( _
s u g g e s t _ i d x As Long , _
Long i n
f i e l d _ o p e r a t i o n As Long , _
Long i n
field_name As String , _
String in
f i e l d _ i t e m _ l i n e As Long , _
Long i n
f i e l d _ t y p e As String , _
String in
f i e l d _ v a l u e As Variant , _
Block out
f i e l d _ v a l u e _ s i z e As Long _
) As Long

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i d x ( _
s u g g e s t _ i d x As Long , _
Long i n
f i e l d _ i d x As Long , _
Long i n
f i e l d _ v a l u e As Variant , _
Block out
f i e l d _ v a l u e _ s i z e As Long _
) As Long

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value
ids_addr_get_field_idx

288

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
s u g g e s t _ i d x As Long , _
Long i n
f i e l d _ l e n g t h As Variant , _
LongArray o u t
f ie l d_ l en gt h _n u m As Long , _
addr_label_encoded As Variant , _ B l o c k o u t
a d d r _ l a b e l _ e n c o d e d _ s i z e As Long , _
a d d r _ l a b e l _ c h a r s e t As String , _ S t r i n g o u t
a d d r _ l a b e l _ c h a r s e t _ s i z e As Long , _
s c o r e As V a r i a n t _
Long o u t
) As Long

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.
289

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ l e n ( _
max_len As V a r i a n t _
Long o u t
) As Long

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ l i n e _ l e n ( _
max_len As V a r i a n t _
Long o u t
) As Long

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ g e t _ o p t i o n ( _
param As String , _
value As String , _
v a l u e _ s i z e As Long _
) As Long

String in
String out

ids_addr_get_line_len

290

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
Public Function i d s _ a d d r _ i n f o ( _
c o n t r o l s As String , _
value As String , _
v a l u e _ s i z e As Long _
) As Long

String in
String out

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Public Function i d s _ a d d r _ i n i t ( _
max_memory As Long _
) As Long

Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.
291

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ p a r s e ( _
f i e l d _ l e n g t h As Variant , _
f ie l d_ l en gt h _n u m As Long _
) As Long

LongArray o u t

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
Public Function i d s _ a d d r _ p r e l o a d _ c o u n t r y
p r e l o a d _ t y p e As String , _
p r e l o a d _ c o u n t r y As String , _
val_mode As S t r i n g _
) As Long

_
String in
String in
String in

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used
ids_addr_parse

292

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
Public Function i d s _ a d d r _ s e t _ a t t r i b ( _
c h a r _ s e t As String , _
d e f a u l t _ c o u n t r y As S t r i n g _
) As Long

String in
String in

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Public Function i d s _ a d d r _ s e t _ d e l _ l i n e s ( _
d e l _ l i n e 1 ( ) As Byte , _
Block
d e l _ l i n e 2 ( ) As Byte , _
Block
d e l _ l i n e 3 ( ) As Byte , _
Block
d e l _ l i n e 4 ( ) As Byte , _
Block
d e l _ l i n e 5 ( ) As Byte , _
Block
d e l _ l i n e 6 ( ) As Byte _
Block
) As Long

Parameters:
del_line1 delivery address line 1 input string
293

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

in
in
in
in
in
in

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ c a s e ( _
f i e l d _ i d x As Long , _
Long i n
f i e l d _ c a s e As Long _
Long i n
) As Long

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ e x t ( _
f i e l d _ o p e r a t i o n As Long , _
Long i n
field_name As String , _
String in
f i e l d _ i t e m _ l i n e As Long , _
Long i n
f i e l d _ t y p e As String , _
String in
f i e l d _ v a l u e ( ) As Byte _
Block in
) As Long
ids_addr_set_field_case

294

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ i d x ( _
f i e l d _ i d x As Long , _
Long i n
f i e l d _ v a l u e ( ) As Byte _
Block in
) As Long

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name
295

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ n a m e ( _
field_name As String , _
String in
f i e l d _ v a l u e ( ) As Byte _
Block in
) As Long

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ l i n e s ( _
l i n e _ 1 ( ) As Byte , _
l i n e _ 2 ( ) As Byte , _
l i n e _ 3 ( ) As Byte , _
l i n e _ 4 ( ) As Byte , _
l i n e _ 5 ( ) As Byte , _
l i n e _ 6 ( ) As Byte , _
l i n e _ 7 ( ) As Byte , _
l i n e _ 8 ( ) As Byte , _
l i n e _ 9 ( ) As Byte , _
l i n e _ 1 0 ( ) As Byte _
) As Long

Block
Block
Block
Block
Block
Block
Block
Block
Block
Block

in
in
in
in
in
in
in
in
in
in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address
ids_addr_set_lines

296

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ s e t _ o p t i o n ( _
param As String , _
value As S t r i n g _
) As Long

String in
String in

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
Public Function i d s _ a d d r _ s t d ( _
firm_name As String , _
firm_name_size As Long , _
u r b a n i z a t i o n As String , _
u r b a n i z a t i o n _ s i z e As Long , _
address_one As String , _
a d d r e s s _ o n e _ s i z e As Long , _
address_two As String , _
a d d r e s s _ t w o _ s i z e As Long , _
l a s t _ l i n e As String , _
l a s t _ l i n e _ s i z e As Long _
) As Long
297

String io
String io
String io
String io
String io

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
Public Function i d s _ a d d r _ v a l i d a t e ( _
s t a t u s As Variant , _
n_suggest As V a r i a n t _
) As Long

Long o u t
Long o u t

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
ids_addr_validate

298

Prototype:
Public Function i d s _ c o n n e c t ( _
h o s t As String , _
p o r t As Long , _
sockh As V a r i a n t _
) As Long

String in
Long i n
Long o u t

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

299

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ e r r o r _ g e t ( _
msg As String , _
msg_size As Long _
) As Long

String out

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r s _ g e t _ a l l ( _
msg As String , _
msg_size As Long _
) As Long

String out

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
ids_errors_get_all

300

Prototype:
Public Function i d s _ i d e n t i f y ( _
i d e n t i f i c a t i o n As S t r i n g
) As Long

String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
Public Function i d s _ i s _ l i t t l e _ e n d i a n ( _
e n d i a n _ s t a t e As V a r i a n t _
Long o u t
) As Long

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
301

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Public Function i d s _ m a t c h _ e x p l a i n ( _
s e a r c h As String , _
m a t c h _ t o l e r a n c e As String , _
s e a r c h r e c ( ) As Byte , _
f i l e r e c ( ) As Byte , _
i n f o _ a r r a y As Variant , _
info_array_num As Long , _
i n f o _ a r r a y _ s i z e As Long _
) As Long

String in
String in
Block in
Block in
BlockArray out

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n _ c o u n t ( _
s e a r c h As String , _
String in
count As V a r i a n t _
Long o u t
) As Long

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
ids_match_explain_count

302

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Public Function i d s _ p i d _ c l o s e ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
Public Function ids_pid_member_count ( _
p r e f i x ( ) As Byte , _
Block in
cluster_num As Long , _
Long i n
count As V a r i a n t _
Long o u t
) As Long

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
303

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function ids_pid_member_get ( _
p r e f i x ( ) As Byte , _
cluster_num As Long , _
r e c o r d As Variant , _
r e c o r d _ s i z e As Long , _
r e c i d As V a r i a n t _
) As Long

Block in
Long i n
Block out
Long o u t

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Public Function ids_pid_open ( _
m u l t i _ s e a r c h As S t r i n g _
) As Long

String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.
ids_pid_open

304

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t ( _
s e a r c h As String , _
f i l e _ r e c As Variant , _
f i l e _ r e c _ s i z e As Long , _
s c o r e As Variant , _
d e c i s i o n As String , _
d e c i s i o n _ s i z e As Long , _
f i l e _ r e c i d As Variant , _
c l u s t e r _ c o u n t As V a r i a n t _
) As Long

String in
Block out
Long o u t
String out
Long o u t
Long o u t

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
s e a r c h As String , _
String in
f i l e _ r e c i d As Long , _
Long i n
p r e f i x s As Variant , _
BlockArray out
prefixs_num As Long , _
p r e f i x s _ s i z e As Long , _
cluster_nums As Variant , _
LongArray o u t
cluster_nums_num As Long _
) As Long

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster
305

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ g e t ( _
s r c _ p k _ v a l u e As Variant , _
src_pk_value_num As Long , _
s r c _ p k _ v a l u e _ s i z e As Long _
) As Long

BlockArray out

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ s t a r t ( _
m u l t i _ s e a r c h As String , _
String in
src_pk ( ) As S t r i n g _
BlockArray in
) As Long

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success
ids_pid_src_pk_get

306

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ l i s t ( _
gross_names As Variant , _
StringArray out
gross_names_num As Long , _
gross_names_size As Long , _
fine_names As Variant , _
StringArray out
fine_names_num As Long , _
f i n e _ n a m e s _ s i z e As Long _
) As Long

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
type As String , _
String in
elements As V a r i a n t _
Long o u t
) As Long

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success
307

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
type As String , _
String in
l e n g t h As V a r i a n t _
Long o u t
) As Long

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Public Function i d s _ p s _ p a r s e ( _
o p e r a t i o n As String , _
input ( ) As Byte , _
g r o s s As Variant , _
gross_num As Long , _
g r o s s _ s i z e As Long , _
f i n e As Variant , _
fine_num As Long , _
f i n e _ s i z e As Long , _
standard As Variant , _
standard_num As Long , _
s t a n d a r d _ s i z e As Long , _
ps_format As Variant , _
ps_format_num As Long , _
p s _ f o r m a t _ s i z e As Long _
) As Long

String in
Block in
BlockArray io

BlockArray io

BlockArray io

BlockArray out

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
ids_ps_get_entity_max_length

308

gross Gross entities used as input or output


fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
Public Function i d s _ p s _ s e t _ e n c o d i n g ( _
encoding As Long _
) As Long

Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Public Function i d s _ p s _ s e t _ e n t i t y _ l i s t ( _
type As String , _
String in
e n t i t y _ l i s t ( ) As S t r i n g _
StringArray in
) As Long

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names
309

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
Public Function i d s _ p s _ s e t _ p o p u l a t i o n ( _
system As String , _
String in
p o p u l a t i o n As S t r i n g _
String in
) As Long

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ g e t ( _
r e f e r e n c e As String , _
String in
b l o c k As Long , _
Long i n
c l u s t e r _ a c t i o n _ c o u n t As V a r i a n t _ Long o u t
) As Long

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response
ids_ps_set_population

310

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ s t a r t
r u l e b a s e As String , _
system As String , _
IDT As String , _
sequence_number As String , _
o p e r a t i o n As String , _
c l u s t e r _ r e c o r d ( ) As Byte , _
s o u r c e As Long , _
m u l t i _ s e a r c h As String , _
i n p u t _ i d As Long , _
r e f e r e n c e As String , _
r e f e r e n c e _ s i z e As Long _
) As Long

( _
String in
String in
String in
String in
String in
Block in
Long i n
String in
Long i n
String out

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
311

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ a d d ( _
r u l e _ t y p e As String , _
String in
s u b j e c t _ r e c _ p k ( ) As Byte , _
Block in
r e l a t i o n s h i p As String , _
String in
r e l a t e d _ r e c _ p k ( ) As Byte _
Block in
) As Long

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

312

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ d e l e t e ( _
r u l e _ t y p e _ o p t i o n As Long , _
Long i n
record_pk ( ) As Byte _
Block in
) As Long

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
313

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
i d t _ r e c ( ) As Byte , _
Block in
o p t i o n As Long _
Long i n
) As Long

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e ( _
i d t _ r e c As Variant , _
Block out
i d t _ r e c _ s i z e As Long _
) As Long

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

314

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ i n i t ( _
idt_name As String , _
String in
m u l t i _ s e a r c h As S t r i n g _
String in
) As Long

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ g e t ( _
r e f e r e n c e As String , _
String in
c l u s t e r _ a c t i o n _ t y p e As String , _ S t r i n g o u t
c l u s t e r _ a c t i o n _ t y p e _ s i z e As Long , _
c l u s t e r _ a c t i o n _ i d As String , _
String out
c l u s t e r _ a c t i o n _ i d _ s i z e As Long , _
c l u s t e r _ a c t i o n _ n u m b e r As Variant , _ Long o u t
c l u s t e r _ a c t i o n _ n e w As String , _ S t r i n g o u t
c l u s t e r _ a c t i o n _ n e w _ s i z e As Long _
) As Long

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results
315

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ s t a r t
r u l e b a s e As String , _
system As String , _
IDT As String , _
sequence_number As String , _
o p e r a t i o n As String , _
c l u s t e r _ r e c o r d ( ) As Byte , _
c l u s t e r _ a c t i o n _ c o u n t As Variant ,
r e f e r e n c e As String , _
r e f e r e n c e _ s i z e As Long _
) As Long

_
String in
String in
String in
String in
String in
Block in
Long o u t
String out

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
ids_real_time_sync_start

316

13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
Public Function i d s _ s c o r e s _ g e t ( _
searchname As String , _
s c o r e s As Variant , _
scores_num As Long _
) As Long

String in
LongArray o u t

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
317

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Public Function ids_search_comment_get ( _


searchname As String , _
String in
comment As String , _
String out
comment_size As Long _
) As Long

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
Public Function i d s _ s e a r c h _ d e d u p e _ s t a r t ( _
s e a r c h As String , _
String in
search_width As String , _
String in
m a t c h _ t o l e r a n c e As String , _
String in
parameters ( ) As String , _
BlockArray in
s e a r c h r e c As Variant , _
Block io
s e a r c h r e c _ s i z e As Long , _
AnswersetName As String , _
String in
f l a g s As Long , _
Long i n
r e c i d As Variant , _
Long i o
r e c s As V a r i a n t _
Long i o
) As Long

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
ids_search_dedupe_start

318

flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ c o u n t ( _
searchname As String , _
String in
f c As V a r i a n t _
Long o u t
) As Long

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ g e t ( _
searchname As String , _
String in
f i e l d n a m e s As Variant , _
StringArray out
fieldnames_num As Long , _
f i e l d n a m e s _ s i z e As Long _
) As Long
319

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
Public Function i d s _ s e a r c h _ f i l t e r ( _
s e a r c h As String , _
f i l t e r As S t r i n g _
) As Long

String in
String in

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Public Function i d s _ s e a r c h _ f i n i s h ( _
s e a r c h As S t r i n g _
) As Long

String in

Parameters:
search is the name of the search that was performed
ids_search_filter

320

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
Public Function i d s _ s e a r c h _ g e t ( _
searchname As String , _
s e a r c h r e t u r n As Variant , _
s e a r c h r e t u r n _ s i z e As Long , _
s c o r e As Variant , _
s r e p s As Variant , _
sreps_num As Long , _
f r e p s As Variant , _
freps_num As Long _
) As Long

String in
Block out
Long o u t
LongArray o u t
LongArray o u t

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".
321

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ c o m p l e t e ( _
s e a r c h As String , _
String in
s e a r c h r e t u r n As Variant , _
Block out
s e a r c h r e t u r n _ s i z e As Long , _
s c o r e As Variant , _
Long o u t
i n f o As Variant , _
Block out
i n f o _ s i z e As Long _
) As Long

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
ids_search_get_complete

322

Public Function i d s _ s e a r c h _ g e t _ d e t a i l ( _
s e a r c h As String , _
String in
f i l e _ r e c As Variant , _
Block out
f i l e _ r e c _ s i z e As Long , _
s c o r e As Variant , _
Long o u t
d e c i s i o n As String , _
String out
d e c i s i o n _ s i z e As Long , _
f i l e _ r e c i d As V a r i a n t _
Long o u t
) As Long

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Public Function i d s _ s e a r c h _ I D T _ g e t ( _
searchname As String , _
IDT As String , _
IDT_size As Long _
) As Long

String in
String out

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success
323

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
Public Function i d s _ s e a r c h _ l a y o u t ( _
s e a r c h As String , _
viewType As String , _
func As String , _
names As Variant , _
names_num As Long , _
names_size As Long , _
l e n g t h s As Variant , _
lengths_num As Long , _
o f f s e t s As Variant , _
offsets_num As Long , _
r e p e a t s As Variant , _
repeats_num As Long , _
formats As Variant , _
formats_num As Long , _
f o r m a t s _ s i z e As Long _
) As Long

String in
String in
String in
StringArray out

LongArray o u t
LongArray o u t
LongArray o u t
StringArray out

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)


ids_search_layout

324

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Public Function i d s _ s e a r c h _ s t a r t ( _
s e a r c h As String , _
search_width As String , _
m a t c h _ t o l e r a n c e As String , _
parameters ( ) As String , _
s e a r c h r e c As Variant , _
s e a r c h r e c _ s i z e As Long , _
AnswersetName As String , _
r e c s As Variant , _
r e c o r d s ( ) As S t r i n g _
) As Long

String in
String in
String in
BlockArray in
Block io

String in
Long o u t
BlockArray in

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
325

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t ( _
searchname As String , _
String in
count As V a r i a n t _
Long o u t
) As Long

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
ids_search_tolerances_count

326

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ g e t ( _
searchname As String , _
String in
t o l e r a n c e s As Variant , _
StringArray out
tolerances_num As Long , _
t o l e r a n c e s _ s i z e As Long _
) As Long

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ g e t ( _
s e a r c h As String , _
viewType As String , _
viewName As String , _
viewName_size As Long , _
viewFieldCount As Variant , _
viewRecLen As V a r i a n t _
) As Long

String in
String in
String out
Long o u t
Long o u t

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
327

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

viewFieldCount the number of fields in the view


viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ s e t ( _
s e a r c h As String , _
viewType As String , _
viewName As S t r i n g _
) As Long

String in
String in
String in

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ c o u n t ( _
searchname As String , _
String in
count As V a r i a n t _
Long o u t
) As Long

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.
ids_search_view_set

328

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ g e t ( _
searchname As String , _
String in
widths As Variant , _
StringArray out
widths_num As Long , _
w i d t h s _ s i z e As Long _
) As Long

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
Public Function i d s _ s e r v e r _ v e r s i o n _ g e t ( _
s e r v e r _ v e r s i o n As String , _
String out
s e r v e r _ v e r s i o n _ s i z e As Long _
) As Long

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success
329

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
Public Function i d s _ s e s s i o n _ c l o s e ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Public Function i d s _ s e s s i o n _ o p e n ( _
s e s s i o n As V a r i a n t _
) As Long

Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
ids_session_close

330

if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
Public Function i d s _ s e t _ e n c o d i n g ( _
encoding As Long _
) As Long

Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Public Function i d s _ s e t _ v p d _ u s e r ( _
vpd_user As String , _
vpd_ctx As S t r i n g _
) As Long

String in
String in

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.
331

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ c l o s e ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_count ( _
i d t c o u n t As V a r i a n t _
Long o u t
) As Long

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_get ( _
idtnames As Variant , _
StringArray out
idtnames_num As Long , _
i d t n a m e s _ s i z e As Long _
) As Long

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).
ids_system_idtname_count

332

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
Public Function i d s _ s y s t e m _ n o t i f y ( _
r u l e b a s e As String , _
sysname As String , _
message As S t r i n g _
) As Long

String in
String in
String in

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
Public Function ids_system_open ( _
r u l e b a s e As String , _
system As String , _
v e r b o s i t y As String , _
Options As S t r i n g _
) As Long

String
String
String
String

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
333

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

in
in
in
in

verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( _
s e a r c h c o u n t As V a r i a n t _
Long o u t
) As Long

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t ( _
s e a r c h e s As Variant , _
StringArray out
searches_num As Long , _
s e a r c h e s _ s i z e As Long , _
p i d _ p r e f i x As Variant , _
BlockArray out
pid_prefix_num As Long , _
ids_system_pid_searches_count

334

p i d _ p r e f i x _ s i z e As Long , _
pid_opts As Variant , _
pid_opts_num As Long , _
p r e f _ r e c _ o p t s As Variant , _
pref_rec_opts_num As Long _
) As Long

LongArray o u t
LongArray o u t

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ f i n i s h ( _ ) As Long

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
335

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ s t a r t ( _
r u l e b a s e As String , _
String in
system As String , _
String in
v e r b o s i t y As String , _
String in
o p t i o n s As String , _
String in
s e a r c h As String , _
String in
parameters ( ) As String , _
BlockArray in
AnswersetName As String , _
String in
d a t a l e n As Variant , _
Long o u t
r e c s As V a r i a n t _
Long o u t
) As Long

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ c o u n t ( _
s e a r c h c o u n t As V a r i a n t _
Long o u t
) As Long

Parameters:
searchcount is the number of searches defined on the system
ids_system_searches_count

336

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ g e t ( _
s e a r c h e s As Variant , _
StringArray out
searches_num As Long , _
s e a r c h e s _ s i z e As Long _
) As Long

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ c o u n t ( _
r u l e b a s e As String , _
systemscount As V a r i a n t _
) As Long

String in
Long o u t

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.
337

CALLING FROM COLDFUSION WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ g e t ( _
r u l e b a s e As String , _
systems As Variant , _
systems_num As Long , _
s y s t e m s _ s i z e As Long _
) As Long

String in
StringArray out

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

338

Calling from Java


Java Version
The Java components of MDM-RE products were built with JDK V1.5. If you intend to build Java clients
which make use of the published Java classes, then you should use JDK 1.5 or higher.

Overview
In Java the API methods are included in the jar file idssecl.jar (located in the %SSABIN% directory
of the Client installation) as the class ssa.ssase.ClieSock. This is packaged as a Java Bean for use
in IDEs. The methods throw exceptions of type SSAAPIException and SSASocketException that
must be caught. If SSASocketException is caught, a fatal problem with the socket connection has
been encountered. As a result, the communication channel has been closed and no further calls may be
made without establishing a new connection.
Java does not require the sockh parameter for any of these functions.

Constants
Constants are declared as class constants, in uppercase using underscores, eg. ClieSock.MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

Error Handling
If an error is detected during an API call, it is reported to the client program by throwing an exception.
The class of the thrown exception varies depending upon the cause of the failure. Thus, the specific
class of the thrown exception can be used to determine how the client program should proceed. There
are three types of exception which may be thrown:-

SSAInterruptedException
This exception is thrown in the event that the process attempting to open a socket connection to the
Search Server is interrupted before the connection can be established. The signature of the ClieSock
constructor used determines when this attempt to open a socket occurs.
If a ClieSock constructor which accepts host & port parameters is used, then the connection is established during the constructor call. In this case, the SSAInterruptedException may be thrown by
the ClieSock constructor call.
If a ClieSock constructor which does not accepts host & port parameters is used, then the connection
is established subsequent to the constructor call, by an explicit call to ids_connect. In this case,
ids_connect may throw the SSAInterruptedException exception.
In either case, if this exception is thrown then the ClieSock object has not been initialized correctly
and may not be used to make API calls to the Search Server.
339

CALLING FROM JAVA

SSAAPIException
This exception is thrown in the event that an error occurred on the Search Server while attempting to
service an API call. As a result, the API call concerned did not complete successfully and the output
parameters, if any, have not been set.
In response to an SSAAPIException, it is recommended that the client program should call the
getMessage() & getRc() methods of the SSAAPIException object to build a description of the
failure, for debugging purposes.
In addition, it is recommended that appropriate calls to the ids_errors_get_all() method of the
ClieSock object be made to retrieve the error stack from the Search Server, again for debugging purposes.
Java code demonstrating how all these calls should be made can be found in the sample programs
which accompany the distribution.
After an SSAAPIException has been caught, the connection to the Search Server remains intact and
the ClieSock object may be used to make further API calls.
Note that the SSAAPIException class contains a getFatal method. This method is present for
backward compatibility purposes only and need never be called.

public methods
getRc
This method returns the response code of the failed API call which caused the exception to be thrown

Prototype:
public i n t getRc ( )

Output:
The response code of the failed API call which caused the exception to be thrown

getMessage
This method returns the detail message string of this SSAAPIException instance

Prototype:
public S t r i n g getMessage ( )

Output:
The detail message string of this SSAAPIException instance (which may be null)
Error Handling

340

SSASocketException
As the name implies, this exception is thrown in the event that a problem with the socket connection
was encountered while attempting to communicate with the Search Server.
When an SSASocketException is thrown, the API call that was being made has failed and, in addition, the socket connection has been closed. No further API calls can be made using the current
ClieSock object. Therefore, a new ClieSock object must be established before any further calls may
be made.
Note that the SSASocketException class contains a getFatal method. This method is present for
backward compatibility purposes only and need never be called.

public methods
getMessage
This method returns the detail message string of this SSASocketException instance

Prototype:
public S t r i n g getMessage ( )

Output:
The detail message string of this SSASocketException instance (which may be null)

Deprecated APIs
In previous versions of MDM-RE, error handling code of client programs caught an SSAException
object and then called the methods getRc() and getFatal() of that object to determine the nature
of a failure. As of version 9.0.00, the SSAException class is reserved for internal use only. In addition,
that classs member methods, getRc() and getFatal(), have been deprecated. Client programs
should not catch SSAException. Nor should they call either of the deprecated methods mentioned.
Instead, user programs should follow the Error Handling guidelines above.

ClieSock Constructor
Description:
This class is used to create a ClieSock object. This object is then used to make the required API calls to
the Search or Connection Server. There are several versions of the constructor.
The versions which accept host & port parameters establish a connection to the server during constructor execution. Therefore, the created ClieSock object is ready to perform API calls.
The versions which do not accept host & port parameters create the object but do not establish a connection to the server. If these constructors are used, it is necessary to call ids_connect to establish a
connection to the server.
341

CALLING FROM JAVA

Prototype:
import s s a . s s a s e . C l i e S o c k ;
public C l i e S o c k ( ) throws SSASocketException ;
public C l i e S o c k (
int
max_time_out
/ / long in
) throws SSASocketException , S S A I n t e r r u p t e d E x c e p t i o n ;
public C l i e S o c k (
S t r i n g hostname ,
/ / String in
int
port
/ / long in
) throws SSASocketException , S S A I n t e r r u p t e d E x c e p t i o n ;
public C l i e S o c k (
S t r i n g hostname ,
/ / String in
int
port ,
/ / long in
int
max_time_out
/ / long in
) throws SSASocketException , S S A I n t e r r u p t e d E x c e p t i o n ;

Parameters:
hostname is the hostname of the server to connect to
port is the port number of the server to connect to
max_time_out is the maximum time to attempt to establish a connection, expressed in milliseconds.
The default value is 120000 ms.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ c a s s _ f i e l d (
int
suggest_idx ,
/ / Long i n
int
field_idx ,
/ / Long i n
byte [ ]
field_value ,
/ / Block out
int
field_value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value
ids_addr_get_cass_field

342

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t (
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o (
int
suggest_idx ,
/ / Long i n
int [ ]
field_length ,
/ / LongArray o u t
int
f ie l d_ l en gt h _n u m
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field
343

CALLING FROM JAVA

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t (
int
suggest_idx ,
/ / Long i n
int
del_case ,
/ / Long i n
byte [ ]
del_line1 ,
/ / Block out
int
del_line1_size ,
byte [ ]
del_line2 ,
/ / Block out
int
del_line2_size ,
byte [ ]
del_line3 ,
/ / Block out
int
del_line3_size ,
byte [ ]
del_line4 ,
/ / Block out
int
del_line4_size ,
byte [ ]
del_line5 ,
/ / Block out
int
del_line5_size ,
byte [ ]
del_line6 ,
/ / Block out
int
del_line6_size
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
ids_addr_get_del_lines_ext

344

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d (
int
suggest_idx ,
/ / Long i n
int
field_idx ,
/ / Long i n
byte [ ]
field_value ,
/ / Block out
int
field_value_size ,
int [ ]
f i e l d _ v a l _ s t a t u s , / / Long o u t
int [ ]
field_val_mods
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d _ c o u n t (
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;
345

CALLING FROM JAVA

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d _ e x t (
int
suggest_idx ,
/ / Long i n
int
f i e l d _ o p e r a t i o n , / / Long i n
String
field_name ,
/ / String in
int
f i e l d _ i t e m _ l i n e , / / Long i n
String
field_type ,
/ / String in
byte [ ]
field_value ,
/ / Block out
int
field_value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).
ids_addr_get_field_ext

346

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d _ i d x (
int
suggest_idx ,
/ / Long i n
int
field_idx ,
/ / Long i n
byte [ ]
field_value ,
/ / Block out
int
field_value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t (
int
suggest_idx ,
/ / Long i n
int [ ]
field_length ,
/ / LongArray o u t
int
field_length_num ,
byte [ ]
addr_label_encoded , / / B l o c k o u t
int
addr_label_encoded_size ,
String [ ]
addr_label_charset , / / String out
int
addr_label_charset_size ,
int [ ]
score
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score
347

CALLING FROM JAVA

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ f i e l d _ l e n (
int [ ]
max_len
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ l i n e _ l e n (
int [ ]
max_len
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success
ids_addr_get_field_len

348

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ g e t _ o p t i o n (
String
param ,
/ / String in
String [ ]
value ,
/ / String out
int
value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ i n f o (
String
controls ,
/ / String in
String [ ]
value ,
/ / String out
int
value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success
349

CALLING FROM JAVA

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ i n i t (
int
max_memory
/ / Long i n
) throws SSAAPIException , SSASocketException ;

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ p a r s e (
int [ ]
field_length ,
/ / LongArray o u t
int
f ie l d_ l en gt h _n u m
) throws SSAAPIException , SSASocketException ;

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success
ids_addr_init

350

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ p r e l o a d _ c o u n t r y (
String
preload_type ,
/ / String in
String
preload_country , / / S t r i n g i n
String
val_mode
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ a t t r i b (
String
char_set ,
/ / String in
String
default_country / / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.
351

CALLING FROM JAVA

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ d e l _ l i n e s (
byte [ ]
del_line1 ,
/ / Block
byte [ ]
del_line2 ,
/ / Block
byte [ ]
del_line3 ,
/ / Block
byte [ ]
del_line4 ,
/ / Block
byte [ ]
del_line5 ,
/ / Block
byte [ ]
del_line6
/ / Block
) throws SSAAPIException , SSASocketException ;

in
in
in
in
in
in

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
ids_addr_set_del_lines

352

using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ f i e l d _ c a s e (
int
field_idx ,
/ / Long i n
int
field_case
/ / Long i n
) throws SSAAPIException , SSASocketException ;

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ f i e l d _ e x t (
int
f i e l d _ o p e r a t i o n , / / Long i n
String
field_name ,
/ / String in
int
f i e l d _ i t e m _ l i n e , / / Long i n
String
field_type ,
/ / String in
byte [ ]
field_value
/ / Block in
) throws SSAAPIException , SSASocketException ;

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success
353

CALLING FROM JAVA

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ f i e l d _ i d x (
int
field_idx ,
/ / Long i n
byte [ ]
field_value
/ / Block in
) throws SSAAPIException , SSASocketException ;

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ f i e l d _ n a m e (
String
field_name ,
/ / String in
byte [ ]
field_value
/ / Block in
) throws SSAAPIException , SSASocketException ;

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success
ids_addr_set_field_idx

354

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ l i n e s (
byte [ ]
line_1 ,
/ / Block
byte [ ]
line_2 ,
/ / Block
byte [ ]
line_3 ,
/ / Block
byte [ ]
line_4 ,
/ / Block
byte [ ]
line_5 ,
/ / Block
byte [ ]
line_6 ,
/ / Block
byte [ ]
line_7 ,
/ / Block
byte [ ]
line_8 ,
/ / Block
byte [ ]
line_9 ,
/ / Block
byte [ ]
line_10
/ / Block
) throws SSAAPIException , SSASocketException ;

in
in
in
in
in
in
in
in
in
in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
355

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s e t _ o p t i o n (
String
param ,
/ / String in
String
value
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ s t d (
String [ ]
firm_name ,
/ / String
int
firm_name_size ,
String [ ]
urbanization ,
/ / String
int
urbanization_size ,
String [ ]
address_one ,
/ / String
int
address_one_size ,
String [ ]
address_two ,
/ / String
int
address_two_size ,
String [ ]
last_line ,
/ / String
int
last_line_size
) throws SSAAPIException , SSASocketException ;

io
io
io
io
io

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
ids_addr_std

356

address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ a d d r _ v a l i d a t e (
int [ ]
status ,
/ / Long o u t
int [ ]
n_suggest
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.
357

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ d i s c o n n e c t ( ) throws SSAAPIException , SSASocketException ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ e r r o r _ g e t (
String [ ]
msg ,
/ / String out
int
msg_size
) throws SSAAPIException , SSASocketException ;

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

ids_error_get

358

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ e r r o r s _ g e t _ a l l (
String [ ]
msg ,
/ / String out
int
msg_size
) throws SSAAPIException , SSASocketException ;

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ i d e n t i f y (
String
identification
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
359

CALLING FROM JAVA

using C l i e S o c k ;
public synchronized i n t i d s _ i s _ l i t t l e _ e n d i a n (
int [ ]
endian_state
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ m a t c h _ e x p l a i n (
String
search ,
/ / String in
String
match_tolerance , / / S t r i n g in
byte [ ]
searchrec ,
/ / Block in
byte [ ]
filerec ,
/ / Block in
byte [ ] [ ]
info_array ,
/ / BlockArray out
int [ ]
info_array_num ,
int [ ]
info_array_size
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success
ids_match_explain

360

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ m a t c h _ e x p l a i n _ c o u n t (
String
search ,
/ / String in
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p i d _ c l o s e ( ) throws SSAAPIException , SSASocketException ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster
361

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_pid_member_count (
byte [ ]
prefix ,
/ / Block in
int
cluster_num ,
/ / Long i n
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_pid_member_get (
byte [ ]
prefix ,
/ / Block in
int
cluster_num ,
/ / Long i n
byte [ ]
record ,
/ / Block out
int
record_size ,
int [ ]
recid
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".
ids_pid_member_get

362

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_pid_open (
String
multi_search
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p i d _ s e a r c h _ g e t (
String
search ,
/ / String in
byte [ ]
file_rec ,
/ / Block out
int
file_rec_size ,
int [ ]
score ,
/ / Long o u t
String [ ]
decision ,
/ / String out
int
decision_size ,
int [ ]
file_recid ,
/ / Long o u t
int [ ]
cluster_count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
363

CALLING FROM JAVA

score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s (
String
search ,
/ / String in
int
file_recid ,
/ / Long i n
byte [ ] [ ]
prefixs ,
/ / BlockArray out
int [ ]
prefixs_num ,
int [ ]
prefixs_size ,
int [ ]
cluster_nums ,
/ / LongArray o u t
int
cluster_nums_num
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time
ids_pid_search_get_clusters

364

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p i d _ s r c _ p k _ g e t (
byte [ ] [ ]
src_pk_value ,
/ / BlockArray out
int [ ]
src_pk_value_num ,
int [ ]
src_pk_value_size
) throws SSAAPIException , SSASocketException ;

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p i d _ s r c _ p k _ s t a r t (
String
multi_search ,
/ / String in
byte [ ] [ ]
src_pk
/ / BlockArray in
) throws SSAAPIException , SSASocketException ;

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population
365

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ g e t _ e n t i t y _ l i s t (
String [ ]
gross_names ,
/ / StringArray out
int
gross_names_num ,
int
gross_names_size ,
String [ ]
fine_names ,
/ / StringArray out
int
fine_names_num ,
int
fine_names_size
) throws SSAAPIException , SSASocketException ;

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
String
type ,
/ / String in
int [ ]
elements
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value
ids_ps_get_entity_max_elements

366

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
String
type ,
/ / String in
int [ ]
length
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ p a r s e (
String
operation ,
/ / String in
byte [ ]
input ,
/ / Block in
byte [ ] [ ]
gross ,
/ / BlockArray
int [ ]
gross_num ,
int [ ]
gross_size ,
byte [ ] [ ]
fine ,
/ / BlockArray
int [ ]
fine_num ,
int [ ]
fine_size ,
byte [ ] [ ]
standard ,
/ / BlockArray
int [ ]
standard_num ,
int [ ]
standard_size ,
byte [ ] [ ]
ps_format ,
/ / BlockArray
int [ ]
ps_format_num ,
int [ ]
ps_format_size
) throws SSAAPIException , SSASocketException ;

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string
367

CALLING FROM JAVA

io

io

io

out

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ s e t _ e n c o d i n g (
int
encoding
/ / Long i n
) throws SSAAPIException , SSASocketException ;

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ s e t _ e n t i t y _ l i s t (
String
type ,
/ / String in
String [ ]
entity_list
/ / StringArray in
) throws SSAAPIException , SSASocketException ;

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success
ids_ps_set_encoding

368

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ p s _ s e t _ p o p u l a t i o n (
String
system ,
/ / String in
String
population
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ a s y n c _ g e t (
String
reference ,
/ / String in
int
block ,
/ / Long i n
int [ ]
c l u s t e r _ a c t i o n _ c o u n t / / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response
369

CALLING FROM JAVA

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ a s y n c _ s t a r t (
String
rulebase ,
/ / String in
String
system ,
/ / String in
String
IDT ,
/ / String in
String
sequence_number , / / S t r i n g i n
String
operation ,
/ / String in
byte [ ]
cluster_record , / / Block in
int
source ,
/ / Long i n
String
multi_search ,
/ / String in
int
input_id ,
/ / Long i n
String [ ]
reference ,
/ / String out
int
reference_size
) throws SSAAPIException , SSASocketException ;

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

ids_real_time_async_start

370

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ a d d (
String
rule_type ,
/ / String in
byte [ ]
subject_rec_pk , / / Block in
String
relationship ,
/ / String in
byte [ ]
related_rec_pk
/ / Block in
) throws SSAAPIException , SSASocketException ;

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.
371

CALLING FROM JAVA

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
using C l i e S o c k ;

public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( ) throws SSAAPIException , SSASocketException

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ d e l e t e (
int
r u l e _ t y p e _ o p t i o n , / / Long i n
byte [ ]
record_pk
/ / Block in
) throws SSAAPIException , SSASocketException ;

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success
ids_real_time_flul_close

372

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
byte [ ]
idt_rec ,
/ / Block in
int
option
/ / Long i n
) throws SSAAPIException , SSASocketException ;

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e (
byte [ ]
idt_rec ,
/ / Block out
int
idt_rec_size
) throws SSAAPIException , SSASocketException ;

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success
373

CALLING FROM JAVA

Should be called after

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ f l u l _ i n i t (
String
idt_name ,
/ / String in
String
multi_search
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ s y n c _ g e t (
String
reference ,
/ / String in
String [ ]
cluster_action_type , / / String out
int
cluster_action_type_size ,
String [ ]
cluster_action_id , / / String out
int
cluster_action_id_size ,
int [ ]
c l u s t e r _ a c t i o n _ n u m b e r , / / Long o u t
String [ ]
cluster_action_new , / / String out
int
cluster_action_new_size
) throws SSAAPIException , SSASocketException ;

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

ids_real_time_flul_init

374

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ r e a l _ t i m e _ s y n c _ s t a r t (
String
rulebase ,
/ / String in
String
system ,
/ / String in
String
IDT ,
/ / String in
String
sequence_number , / / S t r i n g i n
String
operation ,
/ / String in
byte [ ]
cluster_record , / / Block in
int [ ]
c l u s t e r _ a c t i o n _ c o u n t , / / Long o u t
String [ ]
reference ,
/ / String out
int
reference_size
) throws SSAAPIException , SSASocketException ;

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.
375

CALLING FROM JAVA

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s c o r e s _ g e t (
String
searchname ,
/ / String in
int [ ]
scores ,
/ / LongArray o u t
int
scores_num
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success
ids_scores_get

376

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_search_comment_get (
String
searchname ,
/ / String in
String [ ]
comment ,
/ / String out
int
comment_size
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ d e d u p e _ s t a r t (
String
search ,
/ / String in
String
search_width ,
/ / String in
String
match_tolerance , / / S t r i n g in
byte [ ] [ ]
parameters ,
/ / BlockArray in
byte [ ]
searchrec ,
/ / Block io
int
searchrec_size ,
String
AnswersetName ,
/ / String in
int
flags ,
/ / Long i n
int [ ]
recid ,
/ / Long i o
int [ ]
recs
/ / Long i o
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the search that is to be performed.
377

CALLING FROM JAVA

search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ f i e l d s _ c o u n t (
String
searchname ,
/ / String in
int [ ]
fc
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success
ids_search_fields_count

378

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ f i e l d s _ g e t (
String
searchname ,
/ / String in
String [ ]
fieldnames ,
/ / StringArray out
int
fieldnames_num ,
int
fieldnames_size
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ f i l t e r (
String
search ,
/ / String in
String
filter
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success
379

CALLING FROM JAVA

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ f i n i s h (
String
search
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ g e t (
String
searchname ,
/ / String in
byte [ ]
searchreturn ,
/ / Block out
int
searchreturn_size ,
int [ ]
score ,
/ / Long o u t
int [ ]
sreps ,
/ / LongArray o u t
int
sreps_num ,
int [ ]
freps ,
/ / LongArray o u t
int
freps_num
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
ids_search_finish

380

sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups
freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ g e t _ c o m p l e t e (
String
search ,
/ / String in
byte [ ]
searchreturn ,
/ / Block out
int
searchreturn_size ,
int [ ]
score ,
/ / Long o u t
byte [ ]
info ,
/ / Block out
int
info_size
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
381

CALLING FROM JAVA

Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ g e t _ d e t a i l (
String
search ,
/ / String in
byte [ ]
file_rec ,
/ / Block out
int
file_rec_size ,
int [ ]
score ,
/ / Long o u t
String [ ]
decision ,
/ / String out
int
decision_size ,
int [ ]
file_recid
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.
ids_search_get_detail

382

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ I D T _ g e t (
String
searchname ,
/ / String in
String [ ]
IDT ,
/ / String out
int
IDT_size
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ l a y o u t (
String
search ,
/ / String in
String
viewType ,
/ / String in
String
func ,
/ / String in
String [ ]
names ,
/ / StringArray out
int
names_num ,
int
names_size ,
int [ ]
lengths ,
/ / LongArray o u t
int
lengths_num ,
int [ ]
offsets ,
/ / LongArray o u t
int
offsets_num ,
int [ ]
repeats ,
/ / LongArray o u t
int
repeats_num ,
String [ ]
formats ,
/ / StringArray out
int
formats_num ,
int
formats_size
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
383

CALLING FROM JAVA

func describes the order of fields.


names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

ids_search_start

384

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ s t a r t (
String
search ,
/ / String in
String
search_width ,
/ / String in
String
match_tolerance , / / S t r i n g in
byte [ ] [ ]
parameters ,
/ / BlockArray in
byte [ ]
searchrec ,
/ / Block io
int
searchrec_size ,
String
AnswersetName ,
/ / String in
int [ ]
recs ,
/ / Long o u t
byte [ ] [ ]
records
/ / BlockArray in
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
385

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t (
String
searchname ,
/ / String in
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ t o l e r a n c e s _ g e t (
String
searchname ,
/ / String in
String [ ]
tolerances ,
/ / StringArray out
int
tolerances_num ,
int
tolerances_size
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
ids_search_tolerances_get

386

Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ v i e w _ g e t (
String
search ,
/ / String in
String
viewType ,
/ / String in
String [ ]
viewName ,
/ / String out
int
viewName_size ,
int [ ]
viewFieldCount , / / Long o u t
int [ ]
viewRecLen
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ v i e w _ s e t (
String
search ,
/ / String in
String
viewType ,
/ / String in
String
viewName
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
search is the name of the Search
387

CALLING FROM JAVA

viewType the type of the view (input or output)


viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ w i d t h s _ c o u n t (
String
searchname ,
/ / String in
int [ ]
count
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e a r c h _ w i d t h s _ g e t (
String
searchname ,
/ / String in
String [ ]
widths ,
/ / StringArray out
int
widths_num ,
int
widths_size
) throws SSAAPIException , SSASocketException ;
ids_search_widths_count

388

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e r v e r _ v e r s i o n _ g e t (
String [ ]
server_version , / / String out
int
server_version_size
) throws SSAAPIException , SSASocketException ;

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e s s i o n _ c l o s e ( ) throws SSAAPIException , SSASocketException ;

Parameters:
none
389

CALLING FROM JAVA

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e s s i o n _ o p e n (
int [ ]
session
/ / Long i o
) throws SSAAPIException , SSASocketException ;

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e t _ e n c o d i n g (
int
encoding
/ / Long i n
) throws SSAAPIException , SSASocketException ;
ids_session_open

390

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s e t _ v p d _ u s e r (
String
vpd_user ,
/ / String in
String
vpd_ctx
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ c l o s e ( ) throws SSAAPIException , SSASocketException ;

Parameters:
none
391

CALLING FROM JAVA

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_system_idtname_count (
int [ ]
idtcount
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_system_idtname_get (
String [ ]
idtnames ,
/ / StringArray out
int
idtnames_num ,
int
idtnames_size
) throws SSAAPIException , SSASocketException ;

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success
ids_system_idtname_count

392

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ n o t i f y (
String
rulebase ,
/ / String in
String
sysname ,
/ / String in
String
message
/ / String in
) throws SSAAPIException , SSASocketException ;

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
using C l i e S o c k ;
public synchronized i n t ids_system_open (
String
rulebase ,
/ / String
String
system ,
/ / String
String
verbosity ,
/ / String
String
Options
/ / String
) throws SSAAPIException , SSASocketException ;

in
in
in
in

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
393

CALLING FROM JAVA

Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t (
int [ ]
searchcount
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
using C l i e S o c k ;
public synchronized i n t
String [ ]
int
int

ids_system_pid_searches_get (
searches ,
/ / StringArray out
searches_num ,
searches_size ,
ids_system_pid_searches_count

394

byte [ ] [ ]
pid_prefix ,
/ / BlockArray out
int [ ]
pid_prefix_num ,
int [ ]
pid_prefix_size ,
int [ ]
pid_opts ,
/ / LongArray o u t
int
pid_opts_num ,
int [ ]
pref_rec_opts ,
/ / LongArray o u t
int
pref_rec_opts_num
) throws SSAAPIException , SSASocketException ;

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
using C l i e S o c k ;

public synchronized i n t i d s _ s y s t e m _ s e a r c h _ f i n i s h ( ) throws SSAAPIException , SSASocketException

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
395

CALLING FROM JAVA

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ s e a r c h _ s t a r t (
String
rulebase ,
/ / String in
String
system ,
/ / String in
String
verbosity ,
/ / String in
String
options ,
/ / String in
String
search ,
/ / String in
byte [ ] [ ]
parameters ,
/ / BlockArray in
String
AnswersetName ,
/ / String in
int [ ]
datalen ,
/ / Long o u t
int [ ]
recs
/ / Long o u t
) throws SSAAPIException , SSASocketException ;

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ s e a r c h e s _ c o u n t (
int [ ]
searchcount
/ / Long o u t
) throws SSAAPIException , SSASocketException ;
ids_system_searches_count

396

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m _ s e a r c h e s _ g e t (
String [ ]
searches ,
/ / StringArray out
int
searches_num ,
int
searches_size
) throws SSAAPIException , SSASocketException ;

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m s _ c o u n t (
String
rulebase ,
/ / String in
int [ ]
systemscount
/ / Long o u t
) throws SSAAPIException , SSASocketException ;
397

CALLING FROM JAVA

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
using C l i e S o c k ;
public synchronized i n t i d s _ s y s t e m s _ g e t (
String
rulebase ,
/ / String in
String [ ]
systems ,
/ / StringArray out
int
systems_num ,
int
systems_size
) throws SSAAPIException , SSASocketException ;

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

398

Calling from Perl


In Perl the API functions are in the module ssaids.pm (located in the perl directory of the Client and
Developer Components installation).
The functions return a response code. A negative response code indicates a transport error, after which
the communication channel is closed and no further API calls can be made without reconnecting.
Perl does not require the sockh value for any of these functions.

Constants - Object Oriented


Constants are declared as class variables, in uppercase using underscores, eg. $ids->MSG_SIZE.

Installation - Win32 client


To install this module type the following:
perl Makefile.PL
nmake
nmake test
nmake install

Installation - Unix client


To install this module type the following:
perl Makefile.PL
make
make test
make install

Parameter types
Note: values in BOLD represent information that must be provided to the function.

addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
399

CALLING FROM PERL

using s s a ;
my $ f i e l d _ v a l u e = $ssa >a d d r _ g e t _ c a s s _ f i e l d (
$suggest_idx ,
# Long i n
$field_idx
# Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success

addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
using s s a ;
my $count = $ssa >a d d r _ g e t _ c a s s _ f i e l d _ c n t ( ) ;

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.
addr_get_cass_field_cnt

400

Prototype:
using s s a ;
my @ f i e l d _ l e n g t h = $ssa >a d d r _ g e t _ c a s s _ f i e l d _ i n f o (
$suggest_idx
# Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
using s s a ;

my ( $ d e l _ l i n e 1 , $ d e l _ l i n e 2 , $ d e l _ l i n e 3 , $ d e l _ l i n e 4 , $ d e l _ l i n e 5 , $ d e l _ l i n e 6 ) = $ssa >a d d r _ g e t _ d
$suggest_idx ,
# Long i n
$del_case
# Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
401

CALLING FROM PERL

addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
using s s a ;
my ( $ f i e l d _ v a l u e , $ f i e l d _ v a l _ s t a t u s , $ f i e l d _ v a l _ m o d s ) = $ssa >a d d r _ g e t _ f i e l d (
$suggest_idx ,
# Long i n
$field_idx
# Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
using s s a ;
my $count = $ssa >a d d r _ g e t _ f i e l d _ c o u n t ( ) ;

Parameters:
count Returns the max number of address fields
addr_get_field

402

Return Code:
negative for error, 0 for success

addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
using s s a ;
my $ f i e l d _ v a l u e = $ssa >a d d r _ g e t _ f i e l d _ e x t (
$suggest_idx ,
# Long i n
$ f i e l d _ o p e r a t i o n , # Long i n
$field_name ,
# String in
$ f i e l d _ i t e m _ l i n e , # Long i n
$field_type
# String in
);

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).
403

CALLING FROM PERL

Prototype:
using s s a ;
my $ f i e l d _ v a l u e = $ssa >a d d r _ g e t _ f i e l d _ i d x (
$suggest_idx ,
# Long i n
$field_idx
# Long i n
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
using s s a ;

my ( $ f i e l d _ l e n g t h , $addr_label_encoded , $ a d d r _ l a b e l _ c h a r s e t , $ s c o r e ) = $ssa >a d d r _ g e t _ f i e l d _ i n


$suggest_idx
# Long i n
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success
addr_get_field_info_ext

404

addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
using s s a ;
my $max_len = $ssa >a d d r _ g e t _ f i e l d _ l e n ( ) ;

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using s s a ;
my $max_len = $ssa >a d d r _ g e t _ l i n e _ l e n ( ) ;

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
405

CALLING FROM PERL

Prototype:
using s s a ;
my $value = $ssa >a d d r _ g e t _ o p t i o n (
$param
# String in
);

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
using s s a ;
my $value = $ssa >a d d r _ i n f o (
$controls
# String in
);

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).
addr_info

406

Prototype:
using s s a ;
$ssa >a d d r _ i n i t (
$max_memory
);

# Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
using s s a ;
my @ f i e l d _ l e n g t h = $ssa >addr_parse ( ) ;

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

addr_preload_country
Description:
Use this function to preload country database

Prototype:
407

CALLING FROM PERL

using s s a ;
$ssa >addr_preload_country
$preload_type ,
#
$preload_country , #
$val_mode
#
);

(
String in
String in
String in

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ a t t r i b (
$char_set ,
# String in
$default_country # String in
);

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

addr_set_del_lines
Description:
Use this function to set delivery address line information
addr_set_attrib

408

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ d e l _ l i n e s
$del_line1 ,
$del_line1_size ,
$del_line2 ,
$del_line2_size ,
$del_line3 ,
$del_line3_size ,
$del_line4 ,
$del_line4_size ,
$del_line5 ,
$del_line5_size ,
$del_line6 ,
$del_line6_size
);

(
# Block in
# Block in
# Block in
# Block in
# Block in
# Block in

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ f i e l d _ c a s e (
$field_idx ,
# Long i n
$field_case
# Long i n
);

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.
409

CALLING FROM PERL

Return Code:
negative for error, 0 for success

addr_set_field_ext
Description:
Use this function to set fields

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ f i e l d _ e x t (
$field_operation , #
$field_name ,
#
$field_item_line , #
$field_type ,
#
$field_value ,
#
$field_value_size
);

Long i n
String in
Long i n
String in
Block in

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
addr_set_field_ext

410

using s s a ;
$ssa >a d d r _ s e t _ f i e l d _ i d x (
$field_idx ,
# Long i n
$field_value ,
# Block in
$field_value_size
);

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ f i e l d _ n a m e (
$field_name ,
# String in
$field_value ,
# Block in
$field_value_size
);

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.
411

CALLING FROM PERL

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ l i n e s (
$line_1 ,
$line_1_size ,
$line_2 ,
$line_2_size ,
$line_3 ,
$line_3_size ,
$line_4 ,
$line_4_size ,
$line_5 ,
$line_5_size ,
$line_6 ,
$line_6_size ,
$line_7 ,
$line_7_size ,
$line_8 ,
$line_8_size ,
$line_9 ,
$line_9_size ,
$line_10 ,
$line_10_size
);

# Block in
# Block in
# Block in
# Block in
# Block in
# Block in
# Block in
# Block in
# Block in
# Block in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
addr_set_option

412

Prototype:
using s s a ;
$ssa >a d d r _ s e t _ o p t i o n (
$param ,
$value
);

# String in
# String in

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
using s s a ;
$ssa >addr_std (
\$firm_name ,
#
$firm_name_size ,
\$urbanization ,
#
$urbanization_size ,
\$address_one ,
#
$address_one_size ,
\$address_two ,
#
$address_two_size ,
\$last_line ,
#
$last_line_size
);

String io
String io
String io
String io
String io

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
413

CALLING FROM PERL

address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

addr_validate
Description:
Use this function to validate an address

Prototype:
using s s a ;
my ( $ s t a t u s

$n_suggest ) = $ssa >a d d r _ v a l i d a t e ( ) ;

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

disconnect
Description:
Releases resources allocated to a socket.

Prototype:
using s s a ;
$ssa >d i s c o n n e c t ( ) ;

Parameters:
none
addr_validate

414

Return Code:
negative for error, 0 for success

error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
using s s a ;
my $msg = $ssa >e r r o r _ g e t ( ) ;

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
using s s a ;
my $msg = $ssa > e r r o r s _ g e t _ a l l ( ) ;

Parameters:
msg is an error message.
415

CALLING FROM PERL

Return Code:
negative for error, 0 for success

identify
Description:
Identify a session to the console

Prototype:
using s s a ;
$ssa >i d e n t i f y (
$identification
);

# String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
using s s a ;
my $ e n d i a n _ s t a t e = $ssa > i s _ l i t t l e _ e n d i a n ( ) ;

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success
identify

416

match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
using s s a ;
my @ i n f o _ a r r a y = $ssa >match_explain (
$search ,
# String in
$match_tolerance , # S t r i n g in
$searchrec ,
# Block in
$searchrec_size ,
$filerec ,
# Block in
$filerec_size
);

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
using s s a ;
my $count = $ssa >match_explain_count (
$search
# String in
);
417

CALLING FROM PERL

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
using s s a ;
$ssa >p i d _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
using s s a ;
my $count = $ssa >pid_member_count (
$prefix ,
# Block in
$prefix_size ,
$cluster_num
# Long i n
);

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster
pid_close

418

Return Code:
negative for error, 0 for success

pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
using s s a ;
my ( $record , $ r e c i d ) = $ssa >pid_member_get (
$prefix ,
# Block in
$prefix_size ,
$cluster_num
# Long i n
);

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
using s s a ;
$ssa >pid_open (
$multi_search
);

# String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.
419

CALLING FROM PERL

Return Code:
negative for error, 0 for success

pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
using s s a ;
my ( $ f i l e _ r e c , $ s c o r e , $ d e c i s i o n , $ f i l e _ r e c i d , $ c l u s t e r _ c o u n t ) = $ssa >p i d _ s e a r c h _ g e t (
$search
# String in
);

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
pid_search_get

420

using s s a ;
my ( $ p r e f i x s , $cluster_nums ) = $ssa >p i d _ s e a r c h _ g e t _ c l u s t e r s (
$search ,
# String in
$file_recid
# Long i n
);

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
using s s a ;
my @src_pk_value = $ssa >p i d _ s r c _ p k _ g e t ( ) ;

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

pid_src_pk_start
Description:
Search for persistent ids
421

CALLING FROM PERL

Prototype:
using s s a ;
$ssa >p i d _ s r c _ p k _ s t a r t (
$multi_search ,
# String in
\@src_pk
# BlockArray in
);

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
using s s a ;
my ( $gross_names

$fine_names ) = $ssa > p s _ g e t _ e n t i t y _ l i s t ( ) ;

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ps_get_entity_max_elements
Description:
Retrieves number of entity array elements
ps_get_entity_list

422

Prototype:
using s s a ;
my $elements = $ssa >p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
$type
# String in
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
using s s a ;
my $ l e n g t h = $ssa >p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
$type
# String in
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ps_parse
Description:
Parse, Standardize and Format API
423

CALLING FROM PERL

Prototype:
using s s a ;
my @ps_format = $ssa >ps_parse (
$operation ,
# String in
$input ,
# Block in
$input_size ,
\@gross ,
# BlockArray io
$gross_num ,
$gross_size ,
\@fine ,
# BlockArray io
$fine_num ,
$fine_size ,
\@standard ,
# BlockArray io
$standard_num ,
$standard_size
);

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
using s s a ;
$ssa >p s _ s e t _ e n c o d i n g (
$encoding
);

# Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16
ps_set_encoding

424

Return Code:
negative for error, 0 for success

ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
using s s a ;
$ssa > p s _ s e t _ e n t i t y _ l i s t (
$type ,
# String in
\@entity_list ,
# StringArray in
$entity_list_num
);

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
using s s a ;
$ssa >p s _ s e t _ p o p u l a t i o n (
$system ,
# String in
$population
# String in
);

Parameters:
system System Name
population Specifies a Population within the System
425

CALLING FROM PERL

Return Code:
negative for error, 0 for success

real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
using s s a ;
my $ c l u s t e r _ a c t i o n _ c o u n t = $ssa >r e a l _ t i m e _ a s y n c _ g e t (
$reference ,
# String in
$block
# Long i n
);

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet

real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
using s s a ;
my $ r e f e r e n c e = $ssa >r e a l _ t i m e _ a s y n c _ s t a r t (
real_time_async_get

426

$rulebase ,
# String in
$system ,
# String in
$IDT ,
# String in
$sequence_number , # S t r i n g i n
$operation ,
# String in
$cluster_record , # Block in
$cluster_record_size ,
$source ,
# Long i n
$multi_search ,
# String in
$input_id
# Long i n
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.
427

CALLING FROM PERL

This call must be followed by

Prototype:
using s s a ;
$ssa >r e a l _ t i m e _ f l u l _ a d d (
$rule_type ,
# String in
$subject_rec_pk , # Block in
$subject_rec_pk_size ,
$relationship ,
# String in
$related_rec_pk , # Block in
$related_rec_pk_size
);

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
using s s a ;
$ssa >r e a l _ t i m e _ f l u l _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success
real_time_flul_close

428

real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
using s s a ;
$ssa >r e a l _ t i m e _ f l u l _ d e l e t e (
$ r u l e _ t y p e _ o p t i o n , # Long i n
$record_pk ,
# Block in
$record_pk_size
);

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
using s s a ;
$ssa >r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
$idt_rec ,
# Block in
$idt_rec_size ,
$option
# Long i n
);

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.
429

CALLING FROM PERL

Return Code:
negative for error, 0 for success

real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
using s s a ;
my $ i d t _ r e c = $ssa >r e a l _ t i m e _ f l u l _ g e t _ r u l e ( ) ;

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
using s s a ;
$ssa > r e a l _ t i m e _ f l u l _ i n i t (
$idt_name ,
# String in
$multi_search
# String in
);

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.
real_time_flul_get_rule

430

Return Code:
negative for error, 0 for success

real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
using s s a ;

my ( $ c l u s t e r _ a c t i o n _ t y p e , $ c l u s t e r _ a c t i o n _ i d , $ c l u s t e r _ a c t i o n _ n u m b e r , $ c l u s t e r _ a c t i o n _ n e w ) = $
$reference
# String in
);

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
431

CALLING FROM PERL

using s s a ;
my ( $ c l u s t e r _ a c t i o n _ c o u n t , $ r e f e r e n c e ) = $ssa >r e a l _ t i m e _ s y n c _ s t a r t (
$rulebase ,
# String in
$system ,
# String in
$IDT ,
# String in
$sequence_number , # S t r i n g i n
$operation ,
# String in
$cluster_record , # Block in
$cluster_record_size
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.
real_time_sync_start

432

scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
using s s a ;
my @scores = $ssa >s c o r e s _ g e t (
$searchname
# String in
);

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
using s s a ;
my $comment = $ssa >search_comment_get (
$searchname
# String in
);

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.
433

CALLING FROM PERL

Return Code:
negative for error, 0 for success

search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
using s s a ;
$ssa >s e a r c h _ d e d u p e _ s t a r t (
$search ,
# String in
$search_width ,
# String in
$match_tolerance , # S t r i n g in
\@parameters ,
# BlockArray in
\$searchrec ,
# Block io
$searchrec_size ,
$AnswersetName , # S t r i n g i n
$flags ,
# Long i n
\$recid ,
# Long i o
\$recs
# Long i o
);

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.
search_dedupe_start

434

search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using s s a ;
my $ f c = $ssa >s e a r c h _ f i e l d s _ c o u n t (
$searchname
# String in
);

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using s s a ;
my @fieldnames = $ssa >s e a r c h _ f i e l d s _ g e t (
$searchname
# String in
);

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success
435

CALLING FROM PERL

search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
using s s a ;
$ssa > s e a r c h _ f i l t e r (
$search ,
$filter
);

# String in
# String in

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
using s s a ;
$ssa >s e a r c h _ f i n i s h (
$search
);

# String in

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success
search_filter

436

search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
using s s a ;
my ( $ s e a r c h r e t u r n , $ s c o r e , $sreps , $ f r e p s ) = $ssa >s e a r c h _ g e t (
$searchname
# String in
);

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.
437

CALLING FROM PERL

Prototype:
using s s a ;
my ( $ s e a r c h r e t u r n , $ s c o r e , $ i n f o ) = $ssa >s e a r c h _ g e t _ c o m p l e t e (
$search
# String in
);

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
using s s a ;
my ( $ f i l e _ r e c , $ s c o r e , $ d e c i s i o n , $ f i l e _ r e c i d ) = $ssa >s e a r c h _ g e t _ d e t a i l (
$search
# String in
);

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
search_get_detail

438

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
using s s a ;
my $IDT = $ssa >search_IDT_get (
$searchname
# String in
);

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
using s s a ;
my ( $names , $ l e n g t h s , $ o f f s e t s , $ r e p e a t s , $formats ) = $ssa >s e a r c h _ l a y o u t (
$search ,
# String in
$viewType ,
# String in
$func
# String in
);

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
439

CALLING FROM PERL

func describes the order of fields.


names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

search_start

440

Prototype:
using s s a ;
my $ r e c s = $ssa >s e a r c h _ s t a r t (
$search ,
# String in
$search_width ,
# String in
$match_tolerance , # S t r i n g in
\@parameters ,
# BlockArray in
\$searchrec ,
# Block io
$searchrec_size ,
$AnswersetName , # S t r i n g i n
\@records
# BlockArray in
);

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
441

CALLING FROM PERL

Prototype:
using s s a ;
my $count = $ssa >s e a r c h _ t o l e r a n c e s _ c o u n t (
$searchname
# String in
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
using s s a ;
my @ t o l e r a n c e s = $ssa >s e a r c h _ t o l e r a n c e s _ g e t (
$searchname
# String in
);

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.
search_tolerances_get

442

Prototype:
using s s a ;
my ( $viewName , $viewFieldCount , $viewRecLen ) = $ssa >s e a r c h _ v i e w _ g e t (
$search ,
# String in
$viewType
# String in
);

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

search_view_set
Description:
Sets a view as the active input or output view

Prototype:
using s s a ;
$ssa >s e a r c h _ v i e w _ s e t (
$search ,
$viewType ,
$viewName
);

# String in
# String in
# String in

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success
443

CALLING FROM PERL

search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
using s s a ;
my $count = $ssa >se arc h_w id ths _co unt (
$searchname
# String in
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
using s s a ;
my @widths = $ssa >s e a r c h _ w i d t h s _ g e t (
$searchname
# String in
);

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success
search_widths_count

444

server_version_get
Description:
Get the version information associated with the server.

Prototype:
using s s a ;
my $ s e r v e r _ v e r s i o n = $ssa >s e r v e r _ v e r s i o n _ g e t ( ) ;

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
using s s a ;
$ssa >s e s s i o n _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.
445

CALLING FROM PERL

Prototype:
using s s a ;
$ssa >s e s s i o n _ o p e n (
\$session
);

# Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
using s s a ;
$ssa >s e t _ e n c o d i n g (
$encoding
);

# Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.
set_encoding

446

Prototype:
using s s a ;
$ssa >set_vpd_user (
$vpd_user ,
$vpd_ctx
);

# String in
# String in

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

system_close
Description:
closes the system and frees any remaining resources.

Prototype:
using s s a ;
$ssa >s y s t e m _ c l o s e ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
my $ i d t c o u n t = $ssa >system_idtname_count ( ) ;
447

CALLING FROM PERL

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
my @idtnames = $ssa >system_idtname_get ( ) ;

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

system_notify
Description:
Notifies search server on a system.

Prototype:
using s s a ;
$ssa >s y s t e m _ n o t i f y (
$rulebase ,
$sysname ,
$message
);

# String in
# String in
# String in

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered
system_idtname_get

448

Return Code:
negative for error, 0 for success

system_open
Description:
opens a system.

Prototype:
using s s a ;
$ssa >system_open (
$rulebase ,
$system ,
$verbosity ,
$Options
);

#
#
#
#

String
String
String
String

in
in
in
in

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.
449

CALLING FROM PERL

Prototype:
using s s a ;
my $ s e a r c h c o u n t = $ssa >s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( ) ;

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
using s s a ;
my ( $ s e a r c h e s

$ p i d _ p r e f i x , $pid_opts , $ p r e f _ r e c _ o p t s ) = $ssa >s y s t e m _ p i d _ s e a r c h e s _ g e t ( ) ;

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

system_search_finish
Description:
Finishes the search and closes the system.
system_pid_searches_get

450

Prototype:
using s s a ;
$ssa >s y s t e m _ s e a r c h _ f i n i s h ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
using s s a ;
my ( $ d a t a l e n , $ r e c s ) = $ssa >s y s t e m _ s e a r c h _ s t a r t (
$rulebase ,
# String in
$system ,
# String in
$verbosity ,
# String in
$options ,
# String in
$search ,
# String in
\@parameters ,
# BlockArray in
$AnswersetName
# String in
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria
451

CALLING FROM PERL

Return Code:
negative for error, 0 for success

system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
using s s a ;
my $ s e a r c h c o u n t = $ssa >s y s t e m _ s e a r c h e s _ c o u n t ( ) ;

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
using s s a ;
my @searches = $ssa >s y s t e m _ s e a r c h e s _ g e t ( ) ;

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success
system_searches_count

452

systems_count
Description:
the number of systems in the rulebase.

Prototype:
using s s a ;
my $systemscount = $ssa >systems_count (
$rulebase
# String in
);

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
using s s a ;
my @systems = $ssa >s y s t e m s _ g e t (
$rulebase
# String in
);

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

453

CALLING FROM PERL

Calling from MS SQL


MS SQL API functions are included in the files ssasexp.sql (declarations) and ssasexp.dll (extended stored procedure) located in the mssql directory of the Client and Developer Components
installation.
MS SQL calls require a response code as an initial OUTPUT parameter, before the sockh.

Note: MS SQL calls start with the prefix ssasexp_ instead of ids_.

Constants
Constants are not available.

Installation - Win32 Server


In order to use the function prototypes, the following libraries are required.
ssasexp.dll
ssasec.dll
ssaiok.dll
ssaiok.dll is found in the SSA-NAME3 bin directory. ssasec.dll is located in the bin directory
on the Client and Developer Components installation. A directory containing them both should be
included in the system search path.
Use OSQL to declare the extended stored procedure using ssasexp.sql located in the bin directory
of the Client and Developer Components installation.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ssasexp_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
454

EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d (


@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@field_idx ,
Long i n
@ f i e l d _ v a l u e OUTPUT, B l o c k o u t
@field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success

ssasexp_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ c n t (
@rc OUTPUT,
@sockh ,
@count OUTPUT
Long o u t
);

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ssasexp_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.
455

CALLING FROM MS SQL

Prototype:
CREATE TABLE # s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ l a y o u t (
field_length
INT )
INSERT # s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ l a y o u t
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ l a y o u t
@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@ f i e l d _ l e n g t h OUTPUT, LongArray o u t
@field_length_num ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ c u r s o r CURSOR SCROLL FOR
SELECT
field_length
FROM # s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o
OPEN s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ c u r s o r INTO
field_length ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

ssasexp_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ d e l _ l i n e s _ e x t (
@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@del_case ,
Long i n
@ d e l _ l i n e 1 OUTPUT, B l o c k o u t
@del_line1_size ,
@ d e l _ l i n e 2 OUTPUT, B l o c k o u t
@del_line2_size ,
@ d e l _ l i n e 3 OUTPUT, B l o c k o u t
ssasexp_addr_get_del_lines_ext

456

@del_line3_size ,
@ d e l _ l i n e 4 OUTPUT, B l o c k o u t
@del_line4_size ,
@ d e l _ l i n e 5 OUTPUT, B l o c k o u t
@del_line5_size ,
@ d e l _ l i n e 6 OUTPUT, B l o c k o u t
@del_line6_size
);

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d (
@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@field_idx ,
Long i n
@ f i e l d _ v a l u e OUTPUT, B l o c k o u t
@field_value_size ,
@ f i e l d _ v a l _ s t a t u s OUTPUT, Long o u t
@field_val_mods OUTPUT Long o u t
);
457

CALLING FROM MS SQL

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d _ c o u n t (
@rc OUTPUT,
@sockh ,
@count OUTPUT
Long o u t
);

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
ssasexp_addr_get_field_count

458

EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d _ e x t (


@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@ f i e l d _ o p e r a t i o n , Long i n
@field_name ,
S t r i n g i n
@ f i e l d _ i t e m _ l i n e , Long i n
@field_type ,
S t r i n g i n
@ f i e l d _ v a l u e OUTPUT, B l o c k o u t
@field_value_size
);

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d _ i d x (
@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@field_idx ,
Long i n
@ f i e l d _ v a l u e OUTPUT, B l o c k o u t
@field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
459

CALLING FROM MS SQL

field_idx Specifies a field within the nth suggestion


field_value The field value

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
CREATE TABLE # s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ l a y o u t (
field_length
INT )
INSERT # s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ l a y o u t
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ l a y o u t
@rc OUTPUT,
@sockh ,
@suggest_idx ,
Long i n
@ f i e l d _ l e n g t h OUTPUT, LongArray o u t
@field_length_num ,
@addr_label_encoded OUTPUT, B l o c k o u t
@addr_label_encoded_size ,
@ a d d r _ l a b e l _ c h a r s e t OUTPUT, S t r i n g o u t
@addr_label_charset_size ,
@score OUTPUT;
Long o u t
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ c u r s o r CURSOR SCROLL FOR
SELECT
field_length
FROM # s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t
OPEN s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ c u r s o r INTO
field_length ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
ssasexp_addr_get_field_info_ext

460

addr_label_charset The character set used in the address label


score The returned labels score

Return Code:
negative for error, 0 for success

ssasexp_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ f i e l d _ l e n (
@rc OUTPUT,
@sockh ,
@max_len OUTPUT Long o u t
);

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ssasexp_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ l i n e _ l e n (
@rc OUTPUT,
@sockh ,
@max_len OUTPUT Long o u t
);

Parameters:
max_len Returns the max line length in bytes
461

CALLING FROM MS SQL

Return Code:
negative for error, 0 for success

ssasexp_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ g e t _ o p t i o n (
@rc OUTPUT,
@sockh ,
@param ,
S t r i n g i n
@value OUTPUT,
S t r i n g o u t
@value_size
);

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ssasexp_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ i n f o (
@rc OUTPUT,
@sockh ,
@controls ,
S t r i n g i n
@value OUTPUT,
S t r i n g o u t
@value_size
);

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.
ssasexp_addr_get_option

462

Return Code:
negative for error, 0 for success

ssasexp_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ i n i t (
@rc OUTPUT,
@sockh ,
@max_memory
Long i n
);

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ssasexp_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
CREATE TABLE # s s a s e x p _ a d d r _ p a r s e _ l a y o u t (
field_length
INT )
INSERT # s s a s e x p _ a d d r _ p a r s e _ l a y o u t
EXEC master . dbo . s s a s e x p _ a d d r _ p a r s e _ l a y o u t
@rc OUTPUT,
@sockh ,
@ f i e l d _ l e n g t h OUTPUT, LongArray o u t
@field_length_num ;
i f @rc < 0 begin
goto r e t ;
463

CALLING FROM MS SQL

end ;
DECLARE s s a s e x p _ a d d r _ p a r s e _ c u r s o r CURSOR SCROLL FOR
SELECT
field_length
FROM # s s as e x p _ ad d r _ p a rs e
OPEN s s a s e x p _ a d d r _ p a r s e _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ a d d r _ p a r s e _ c u r s o r INTO
field_length ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ssasexp_addr_preload_country
Description:
Use this function to preload country database

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ p r e l o a d _ c o u n t r y (
@rc OUTPUT,
@sockh ,
@preload_type ,
S t r i n g i n
@preload_country , S t r i n g i n
@val_mode
S t r i n g i n
);

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success
ssasexp_addr_preload_country

464

ssasexp_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ a t t r i b (
@rc OUTPUT,
@sockh ,
@char_set ,
S t r i n g i n
@ d e f a u l t _ c o u n t r y S t r i n g i n
);

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ssasexp_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ d e l _ l i n e s (
@rc OUTPUT,
@sockh ,
@del_line1 ,
B l o c k i n
@del_line2 ,
B l o c k i n
@del_line3 ,
B l o c k i n
@del_line4 ,
B l o c k i n
@del_line5 ,
B l o c k i n
@del_line6
B l o c k i n
);

Parameters:
del_line1 delivery address line 1 input string
465

CALLING FROM MS SQL

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ssasexp_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ f i e l d _ c a s e (
@rc OUTPUT,
@sockh ,
@field_idx ,
Long i n
@field_case
Long i n
);

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ssasexp_addr_set_field_ext
Description:
Use this function to set fields
ssasexp_addr_set_field_case

466

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ f i e l d _ e x t (
@rc OUTPUT,
@sockh ,
@ f i e l d _ o p e r a t i o n , Long i n
@field_name ,
S t r i n g i n
@ f i e l d _ i t e m _ l i n e , Long i n
@field_type ,
S t r i n g i n
@field_value
B l o c k i n
);

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ssasexp_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ f i e l d _ i d x (
@rc OUTPUT,
@sockh ,
@field_idx ,
Long i n
@field_value
B l o c k i n
);

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success
467

CALLING FROM MS SQL

ssasexp_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ f i e l d _ n a m e (
@rc OUTPUT,
@sockh ,
@field_name ,
S t r i n g i n
@field_value
B l o c k i n
);

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ssasexp_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ l i n e s (
@rc OUTPUT,
@sockh ,
@line_1 ,
B l o c k i n
@line_2 ,
B l o c k i n
@line_3 ,
B l o c k i n
@line_4 ,
B l o c k i n
@line_5 ,
B l o c k i n
@line_6 ,
B l o c k i n
@line_7 ,
B l o c k i n
@line_8 ,
B l o c k i n
@line_9 ,
B l o c k i n
@line_10
B l o c k i n
);

Parameters:
line_1 The first line of the address
ssasexp_addr_set_field_name

468

line_2 The second line of the address


line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ssasexp_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s e t _ o p t i o n (
@rc OUTPUT,
@sockh ,
@param ,
S t r i n g i n
@value
S t r i n g i n
);

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ssasexp_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.
469

CALLING FROM MS SQL

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ s t d (
@rc OUTPUT,
@sockh ,
@firm_name OUTPUT, S t r i n g i o
@firm_name_size ,
@urbanization OUTPUT, S t r i n g i o
@urbanization_size ,
@address_one OUTPUT, S t r i n g i o
@address_one_size ,
@address_two OUTPUT, S t r i n g i o
@address_two_size ,
@ l a s t _ l i n e OUTPUT, S t r i n g i o
@last_line_size
);

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ssasexp_addr_validate
Description:
Use this function to validate an address

Prototype:
EXEC master . dbo . s s a s e x p _ a d d r _ v a l i d a t e (
@rc OUTPUT,
@sockh ,
@ s t a t u s OUTPUT, Long o u t
@n_suggest OUTPUT Long o u t
);
ssasexp_addr_validate

470

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ssasexp_connect
Description:
Initiates a socket.

Prototype:
EXEC master . dbo . s s a s e x p _ c o n n e c t (
@rc OUTPUT,
@host ,
S t r i n g i n
@port ,
Long i n
@sockh OUTPUT
Long o u t
);

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ssasexp_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
EXEC master . dbo . s s a s e x p _ d i s c o n n e c t (
@rc OUTPUT,
@sockh
);

Parameters:
none
471

CALLING FROM MS SQL

Return Code:
negative for error, 0 for success

ssasexp_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
EXEC master . dbo . s s a s e x p _ e r r o r _ g e t (
@rc OUTPUT,
@sockh ,
@msg OUTPUT,
S t r i n g o u t
@msg_size
);

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ssasexp_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
EXEC master . dbo . s s a s e x p _ e r r o r s _ g e t _ a l l (
@rc OUTPUT,
@sockh ,
@msg OUTPUT,
S t r i n g o u t
@msg_size
);
ssasexp_error_get

472

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ssasexp_identify
Description:
Identify a session to the console

Prototype:
EXEC master . dbo . s s a s e x p _ i d e n t i f y (
@rc OUTPUT,
@sockh ,
@ i d e n t i f i c a t i o n S t r i n g i n
);

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ssasexp_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
EXEC master . dbo . s s a s e x p _ i s _ l i t t l e _ e n d i a n (
@rc OUTPUT,
@sockh ,
@ e n d i a n _ s t a t e OUTPUT Long o u t
);

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others
473

CALLING FROM MS SQL

Return Code:
negative for error, 0 for success

ssasexp_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
CREATE TABLE # s s a s e x p _ m a t c h _ e x p l a i n _ l a y o u t (
info_array
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ m a t c h _ e x p l a i n _ l a y o u t
EXEC master . dbo . s s a s e x p _ m a t c h _ e x p l a i n _ l a y o u t
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@match_tolerance , S t r i n g i n
@searchrec ,
B l o c k i n
@filerec ,
B l o c k i n
@ i n f o _ a r r a y OUTPUT, B l o c k A r r a y o u t
@info_array_num ,
@info_array_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ m a t c h _ e x p l a i n _ c u r s o r CURSOR SCROLL FOR
SELECT
info_array
FROM # s s a s e x p _ m a t c h _ e x p l a i n
OPEN s s a s e x p _ m a t c h _ e x p l a i n _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ m a t c h _ e x p l a i n _ c u r s o r INTO
info_array ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details
ssasexp_match_explain

474

Return Code:
negative for error, 0 for success

ssasexp_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
EXEC master . dbo . s s a s e x p _ m a t c h _ e x p l a i n _ c o u n t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@count OUTPUT
Long o u t
);

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

ssasexp_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
EXEC master . dbo . s s a s e x p _ p i d _ c l o s e (
@rc OUTPUT,
@sockh
);

Parameters:
none

Return Code:
negative for error, 0 for success
475

CALLING FROM MS SQL

ssasexp_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
EXEC master . dbo . ssasexp_pid_member_count (
@rc OUTPUT,
@sockh ,
@prefix ,
B l o c k i n
@cluster_num ,
Long i n
@count OUTPUT
Long o u t
);

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ssasexp_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
EXEC master . dbo . ssasexp_pid_member_get (
@rc OUTPUT,
@sockh ,
@prefix ,
B l o c k i n
@cluster_num ,
Long i n
@record OUTPUT, B l o c k o u t
@record_size ,
@recid OUTPUT
Long o u t
);

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)
ssasexp_pid_member_count

476

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ssasexp_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
EXEC master . dbo . ssasexp_pid_open (
@rc OUTPUT,
@sockh ,
@multi_search
S t r i n g i n
);

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ssasexp_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
EXEC master . dbo . s s a s e x p _ p i d _ s e a r c h _ g e t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@ f i l e _ r e c OUTPUT, B l o c k o u t
@file_rec_size ,
@score OUTPUT,
Long o u t
@decision OUTPUT, S t r i n g o u t
@decision_size ,
@ f i l e _ r e c i d OUTPUT, Long o u t
@ c l u s t e r _ c o u n t OUTPUT Long o u t
);
477

CALLING FROM MS SQL

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ssasexp_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
CREATE TABLE # s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ l a y o u t (
p r e f i x s VARCHAR( 2 5 6 ) ,
cluster_nums
INT )
INSERT # s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ l a y o u t
EXEC master . dbo . s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ l a y o u t
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@file_recid ,
Long i n
@ p r e f i x s OUTPUT, B l o c k A r r a y o u t
@prefixs_num ,
@prefixs_size ,
@cluster_nums OUTPUT, LongArray o u t
@cluster_nums_num ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ c u r s o r CURSOR SCROLL FOR
SELECT
prefixs ,
cluster_nums
FROM # s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s
OPEN s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ c u r s o r INTO
prefixs ,
cluster_nums ;
WHILE @@FETCH_STATUS = 0 begin
...
END;
ssasexp_pid_search_get_clusters

478

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ssasexp_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
CREATE TABLE # s s a s e x p _ p i d _ s r c _ p k _ g e t _ l a y o u t (
src_pk_value
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ p i d _ s r c _ p k _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ p i d _ s r c _ p k _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@src_pk_value OUTPUT, B l o c k A r r a y o u t
@src_pk_value_num ,
@src_pk_value_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ p i d _ s r c _ p k _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
src_pk_value
FROM # s s a s e x p _ p i d _ s r c _ p k _ g e t
OPEN s s a s e x p _ p i d _ s r c _ p k _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ p i d _ s r c _ p k _ g e t _ c u r s o r INTO
src_pk_value ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
479

CALLING FROM MS SQL

ssasexp_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
EXEC master . dbo . s s a s e x p _ p i d _ s r c _ p k _ s t a r t (
@rc OUTPUT,
@sockh ,
@multi_search ,
S t r i n g i n
@src_pk
B l o c k A r r a y i n
);

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ssasexp_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
CREATE TABLE # s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ l a y o u t (
gross_names
VARCHAR( 2 5 6 ) ,
fine_names
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ l a y o u t
EXEC master . dbo . s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ l a y o u t
@rc OUTPUT,
@sockh ,
@gross_names OUTPUT, S t r i n g A r r a y o u t
@gross_names_num ,
@gross_names_size ,
@fine_names OUTPUT, S t r i n g A r r a y o u t
@fine_names_num ,
@fine_names_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ c u r s o r CURSOR SCROLL FOR
SELECT
gross_names ,
ssasexp_pid_src_pk_start

480

fine_names
FROM # s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t
OPEN s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ p s _ g e t _ e n t i t y _ l i s t _ c u r s o r INTO
gross_names ,
fine_names ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ssasexp_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
EXEC master . dbo . s s a s e x p _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
@rc OUTPUT,
@sockh ,
@type ,
S t r i n g i n
@elements OUTPUT Long o u t
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ssasexp_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value
481

CALLING FROM MS SQL

Prototype:
EXEC master . dbo . s s a s e x p _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
@rc OUTPUT,
@sockh ,
@type ,
S t r i n g i n
@length OUTPUT
Long o u t
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ssasexp_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
CREATE TABLE # s s a s e x p _ p s _ p a r s e _ l a y o u t (
ps_format
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ p s _ p a r s e _ l a y o u t
EXEC master . dbo . s s a s e x p _ p s _ p a r s e _ l a y o u t
@rc OUTPUT,
@sockh ,
@operation ,
S t r i n g i n
@input ,
B l o c k i n
@gross OUTPUT,
B l o c k A r r a y i o
@gross_num ,
@gross_size ,
@fine OUTPUT,
B l o c k A r r a y i o
@fine_num ,
@fine_size ,
@standard OUTPUT, B l o c k A r r a y i o
@standard_num ,
@standard_size ,
@ps_format OUTPUT, B l o c k A r r a y o u t
@ps_format_num ,
@ps_format_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ p s _ p a r s e _ c u r s o r CURSOR SCROLL FOR
SELECT
ps_format
FROM # s s a s e x p _ p s _ p a r s e
ssasexp_ps_parse

482

OPEN s s a s e x p _ p s _ p a r s e _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ p s _ p a r s e _ c u r s o r INTO
ps_format ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ssasexp_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
EXEC master . dbo . s s a s e x p _ p s _ s e t _ e n c o d i n g (
@rc OUTPUT,
@sockh ,
@encoding
Long i n
);

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ssasexp_ps_set_entity_list
Description:
Defines a subset of entities for input/output
483

CALLING FROM MS SQL

Prototype:
EXEC master . dbo . s s a s e x p _ p s _ s e t _ e n t i t y _ l i s t (
@rc OUTPUT,
@sockh ,
@type ,
S t r i n g i n
@entity_list
S t r i n g A r r a y i n
);

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ssasexp_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
EXEC master . dbo . s s a s e x p _ p s _ s e t _ p o p u l a t i o n (
@rc OUTPUT,
@sockh ,
@system ,
S t r i n g i n
@population
S t r i n g i n
);

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ssasexp_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.
ssasexp_ps_set_population

484

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ a s y n c _ g e t (
@rc OUTPUT,
@sockh ,
@reference ,
S t r i n g i n
@block ,
Long i n
@ c l u s t e r _ a c t i o n _ c o u n t OUTPUT Long o u t
);

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet

ssasexp_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ a s y n c _ s t a r t (
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@system ,
S t r i n g i n
@IDT ,
S t r i n g i n
@sequence_number , S t r i n g i n
@operation ,
S t r i n g i n
@ c l u s t e r _ r e c o r d , B l o c k i n
@source ,
Long i n
@multi_search ,
S t r i n g i n
@input_id ,
Long i n
@ r e f e r e n c e OUTPUT, S t r i n g o u t
@reference_size
);

Parameters:
rulebase is the name of the rulebase.
485

CALLING FROM MS SQL

system The name of the system in the rulebase


IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ssasexp_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ a d d (
@rc OUTPUT,
@sockh ,
@rule_type ,
S t r i n g i n
@ s u b je c t _ r e c _ pk , B l o c k i n
@relationship ,
S t r i n g i n
@ r e l a t e d _ r e c _ p k B l o c k i n
);

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
ssasexp_real_time_flul_add

486

subject_rec_pk This field is for specifying the PK of the subject record


relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ssasexp_real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ c l o s e (
@rc OUTPUT,
@sockh
);

Parameters:
none

Return Code:
negative for error, 0 for success

ssasexp_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ d e l e t e (
@rc OUTPUT,
@sockh ,
@rule_type_option , Long i n
@record_pk
B l o c k i n
);
487

CALLING FROM MS SQL

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ssasexp_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
@rc OUTPUT,
@sockh ,
@ id t _ re c ,
B l o c k i n
@option
Long i n
);

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ssasexp_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

ssasexp_real_time_flul_find_rule

488

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ g e t _ r u l e (
@rc OUTPUT,
@sockh ,
@ i d t _ r e c OUTPUT, B l o c k o u t
@idt_rec_size
);

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ssasexp_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ f l u l _ i n i t (
@rc OUTPUT,
@sockh ,
@idt_name ,
S t r i n g i n
@multi_search
S t r i n g i n
);

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ssasexp_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.
489

CALLING FROM MS SQL

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ s y n c _ g e t (
@rc OUTPUT,
@sockh ,
@reference ,
S t r i n g i n
@ c l u s t e r _ a c t i o n _ t y p e OUTPUT, S t r i n g o u t
@cluster_action_type_size ,
@ c l u s t e r _ a c t i o n _ i d OUTPUT, S t r i n g o u t
@cluster_action_id_size ,
@c lust er_ act ion _nu mber OUTPUT, Long o u t
@ c l u s t e r _ a c t i o n _ n e w OUTPUT, S t r i n g o u t
@cluster_action_new_size
);

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

ssasexp_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
EXEC master . dbo . s s a s e x p _ r e a l _ t i m e _ s y n c _ s t a r t (
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@system ,
S t r i n g i n
@IDT ,
S t r i n g i n
@sequence_number , S t r i n g i n
@operation ,
S t r i n g i n
@ c l u s t e r _ r e c o r d , B l o c k i n
@ c l u s t e r _ a c t i o n _ c o u n t OUTPUT, Long o u t
@ r e f e r e n c e OUTPUT, S t r i n g o u t
@reference_size
);
ssasexp_real_time_sync_start

490

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ssasexp_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.
491

CALLING FROM MS SQL

Prototype:
CREATE TABLE # s s a s e x p _ s c o r e s _ g e t _ l a y o u t (
s c o r e s INT )
INSERT # s s a s e x p _ s c o r e s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s c o r e s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@scores OUTPUT, LongArray o u t
@scores_num ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s c o r e s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
scores
FROM # s s a s e x p _ s c o r e s _ g e t
OPEN s s a s e x p _ s c o r e s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s c o r e s _ g e t _ c u r s o r INTO
scores ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ssasexp_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
EXEC master . dbo . ssasexp_search_comment_get (
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@comment OUTPUT, S t r i n g o u t
@comment_size
);

Parameters:
searchname the search to count.
ssasexp_search_comment_get

492

comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ssasexp_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ d e d u p e _ s t a r t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@search_width ,
S t r i n g i n
@match_tolerance , S t r i n g i n
@parameters ,
B l o c k A r r a y i n
@ s e a r c h r e c OUTPUT, B l o c k i o
@searchrec_size ,
@AnswersetName , S t r i n g i n
@flags ,
Long i n
@recid OUTPUT,
Long i o
@recs OUTPUT
Long i o
);

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.
493

CALLING FROM MS SQL

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ssasexp_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ f i e l d s _ c o u n t (
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@fc OUTPUT
Long o u t
);

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ssasexp_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
CREATE TABLE # s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ l a y o u t (
fieldnames
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@fieldnames OUTPUT, S t r i n g A r r a y o u t
@fieldnames_num ,
@fieldnames_size ;
i f @rc < 0 begin
goto r e t ;
end ;
ssasexp_search_fields_count

494

DECLARE s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ c u r s o r CURSOR SCROLL FOR


SELECT
fieldnames
FROM # s s a s e x p _ s e a r c h _ f i e l d s _ g e t
OPEN s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s e a r c h _ f i e l d s _ g e t _ c u r s o r INTO
fieldnames ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ssasexp_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ f i l t e r (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@filter
S t r i n g i n
);

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ssasexp_search_finish
Description:
Release resources associated with ids_search_start.
495

CALLING FROM MS SQL

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ f i n i s h (
@rc OUTPUT,
@sockh ,
@search
S t r i n g i n
);

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ssasexp_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
CREATE TABLE # s s a s e x p _ s e a r c h _ g e t _ l a y o u t (
sreps
INT ,
freps
INT )
INSERT # s s a s e x p _ s e a r c h _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s e a r c h _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@ s e a r c h r e t u r n OUTPUT, B l o c k o u t
@searchreturn_size ,
@score OUTPUT,
Long o u t
@sreps OUTPUT,
LongArray o u t
@sreps_num ,
@freps OUTPUT,
LongArray o u t
@freps_num ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s e a r c h _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
sreps ,
freps
FROM # s s a s e x p _ s e a r c h _ g e t
OPEN s s a s e x p _ s e a r c h _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s e a r c h _ g e t _ c u r s o r INTO
sreps ,
freps ;
WHILE @@FETCH_STATUS = 0 begin
ssasexp_search_get

496

...
END;

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ssasexp_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ g e t _ c o m p l e t e (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@ s e a r c h r e t u r n OUTPUT, B l o c k o u t
@searchreturn_size ,
@score OUTPUT,
Long o u t
@info OUTPUT,
B l o c k o u t
@info_size
);
497

CALLING FROM MS SQL

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ssasexp_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ g e t _ d e t a i l (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@ f i l e _ r e c OUTPUT, B l o c k o u t
@file_rec_size ,
@score OUTPUT,
Long o u t
@decision OUTPUT, S t r i n g o u t
@decision_size ,
@ f i l e _ r e c i d OUTPUT Long o u t
);

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
ssasexp_search_get_detail

498

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ssasexp_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ I D T _ g e t (
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@IDT OUTPUT,
S t r i n g o u t
@IDT_size
);

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ssasexp_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
CREATE TABLE # s s a s e x p _ s e a r c h _ l a y o u t _ l a y o u t (
names
VARCHAR( 2 5 6 ) ,
l e n g t h s INT ,
o f f s e t s INT ,
r e p e a t s INT ,
formats VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s e a r c h _ l a y o u t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s e a r c h _ l a y o u t _ l a y o u t
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
499

CALLING FROM MS SQL

@viewType ,
@func ,
@names OUTPUT,
@names_num ,
@names_size ,
@lengths OUTPUT,
@lengths_num ,
@ o f f s e t s OUTPUT,
@offsets_num ,
@repeats OUTPUT,
@repeats_num ,
@formats OUTPUT,
@formats_num ,
@formats_size ;

S t r i n g i n
S t r i n g i n
S t r i n g A r r a y o u t

LongArray o u t
LongArray o u t
LongArray o u t
S t r i n g A r r a y o u t

i f @rc < 0 begin


goto r e t ;
end ;
DECLARE s s a s e x p _ s e a r c h _ l a y o u t _ c u r s o r CURSOR SCROLL FOR
SELECT
names ,
lengths ,
offsets ,
repeats ,
formats
FROM # s s a s e x p _ s e a r c h _ l a y o u t
OPEN s s a s e x p _ s e a r c h _ l a y o u t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s e a r c h _ l a y o u t _ c u r s o r INTO
names ,
lengths ,
offsets ,
repeats ,
formats ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)


ssasexp_search_layout

500

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ssasexp_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ s t a r t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@search_width ,
S t r i n g i n
@match_tolerance , S t r i n g i n
@parameters ,
B l o c k A r r a y i n
@ s e a r c h r e c OUTPUT, B l o c k i o
@searchrec_size ,
@AnswersetName , S t r i n g i n
@recs OUTPUT,
Long o u t
@records
B l o c k A r r a y i n
);

Parameters:
search is the name of the search to be performed.
501

CALLING FROM MS SQL

search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ssasexp_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ t o l e r a n c e s _ c o u n t (
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@count OUTPUT
Long o u t
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.
ssasexp_search_tolerances_count

502

Return Code:
negative for error, 0 for success

ssasexp_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
CREATE TABLE # s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ l a y o u t (
tolerances
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@ t o l e r a n c e s OUTPUT, S t r i n g A r r a y o u t
@tolerances_num ,
@tolerances_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
tolerances
FROM # s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t
OPEN s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s e a r c h _ t o l e r a n c e s _ g e t _ c u r s o r INTO
tolerances ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ssasexp_search_view_get
503

CALLING FROM MS SQL

Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ v i e w _ g e t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@viewType ,
S t r i n g i n
@viewName OUTPUT, S t r i n g o u t
@viewName_size ,
@viewFieldCount OUTPUT, Long o u t
@viewRecLen OUTPUT Long o u t
);

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ssasexp_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ v i e w _ s e t (
@rc OUTPUT,
@sockh ,
@search ,
S t r i n g i n
@viewType ,
S t r i n g i n
@viewName
S t r i n g i n
);

Parameters:
search is the name of the Search
ssasexp_search_view_set

504

viewType the type of the view (input or output)


viewName the name of the view to use

Return Code:
negative for error, 0 for success

ssasexp_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
EXEC master . dbo . s s a s e x p _ s e a r c h _ w i d t h s _ c o u n t (
@rc OUTPUT,
@sockh ,
@searchname ,
S t r i n g i n
@count OUTPUT
Long o u t
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ssasexp_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
CREATE TABLE # s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ l a y o u t (
widths VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ l a y o u t
@rc OUTPUT,
505

CALLING FROM MS SQL

@sockh ,
@searchname ,
@widths OUTPUT,
@widths_num ,
@widths_size ;

S t r i n g i n
S t r i n g A r r a y o u t

i f @rc < 0 begin


goto r e t ;
end ;
DECLARE s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
widths
FROM # s s a s e x p _ s e a r c h _ w i d t h s _ g e t
OPEN s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s e a r c h _ w i d t h s _ g e t _ c u r s o r INTO
widths ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ssasexp_server_version_get
Description:
Get the version information associated with the server.

Prototype:
EXEC master . dbo . s s a s e x p _ s e r v e r _ v e r s i o n _ g e t (
@rc OUTPUT,
@sockh ,
@ s e r v e r _ v e r s i o n OUTPUT, S t r i n g o u t
@server_version_size
);

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success
ssasexp_server_version_get

506

ssasexp_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
EXEC master . dbo . s s a s e x p _ s e s s i o n _ c l o s e (
@rc OUTPUT,
@sockh
);

Parameters:
none

Return Code:
negative for error, 0 for success

ssasexp_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
EXEC master . dbo . s s a s e x p _ s e s s i o n _ o p e n (
@rc OUTPUT,
@sockh ,
@session OUTPUT Long i o
);

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success
507

CALLING FROM MS SQL

ssasexp_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
EXEC master . dbo . s s a s e x p _ s e t _ e n c o d i n g (
@rc OUTPUT,
@sockh ,
@encoding
Long i n
);

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ssasexp_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
EXEC master . dbo . s s a s e x p _ s e t _ v p d _ u s e r (
@rc OUTPUT,
@sockh ,
@vpd_user ,
S t r i n g i n
@vpd_ctx
S t r i n g i n
);

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package
ssasexp_set_encoding

508

Return Code:
negative for error, 0 for success

ssasexp_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ c l o s e (
@rc OUTPUT,
@sockh
);

Parameters:
none

Return Code:
negative for error, 0 for success

ssasexp_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
EXEC master . dbo . ssasexp_system_idtname_count (
@rc OUTPUT,
@sockh ,
@idtcount OUTPUT Long o u t
);

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success
509

CALLING FROM MS SQL

ssasexp_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
CREATE TABLE # s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ l a y o u t (
idtnames
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@idtnames OUTPUT, S t r i n g A r r a y o u t
@idtnames_num ,
@idtnames_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
idtnames
FROM # ssasexp_system_idtname_get
OPEN s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s y s t e m _ i d t n a m e _ g e t _ c u r s o r INTO
idtnames ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

ssasexp_system_notify
Description:
Notifies search server on a system.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ n o t i f y (
@rc OUTPUT,
ssasexp_system_idtname_get

510

@sockh ,
@rulebase ,
@sysname ,
@message

S t r i n g i n
S t r i n g i n
S t r i n g i n

);

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ssasexp_system_open
Description:
opens a system.

Prototype:
EXEC master . dbo . ssasexp_system_open (
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@system ,
S t r i n g i n
@verbosity ,
S t r i n g i n
@Options
S t r i n g i n
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success
511

CALLING FROM MS SQL

ssasexp_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t (
@rc OUTPUT,
@sockh ,
@searchcount OUTPUT Long o u t
);

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ssasexp_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
CREATE TABLE # s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ l a y o u t (
searches
VARCHAR( 2 5 6 ) ,
pid_prefix
VARCHAR( 2 5 6 ) ,
pid_opts
INT ,
pref_rec_opts
INT )
INSERT # s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searches OUTPUT, S t r i n g A r r a y o u t
@searches_num ,
@searches_size ,
@ p i d _ p r e f i x OUTPUT, B l o c k A r r a y o u t
@pid_prefix_num ,
@pid_prefix_size ,
@pid_opts OUTPUT, LongArray o u t
@pid_opts_num ,
@ p r e f _ r e c _ o p t s OUTPUT, LongArray o u t
@pref_rec_opts_num ;
i f @rc < 0 begin
goto r e t ;
ssasexp_system_pid_searches_count

512

end ;
DECLARE s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
searches ,
pid_prefix ,
pid_opts ,
pref_rec_opts
FROM # s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t
OPEN s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ c u r s o r INTO
searches ,
pid_prefix ,
pid_opts ,
pref_rec_opts ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ssasexp_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ s e a r c h _ f i n i s h (
@rc OUTPUT,
@sockh
);

Parameters:
none
513

CALLING FROM MS SQL

Return Code:
negative for error, 0 for success

ssasexp_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ s e a r c h _ s t a r t (
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@system ,
S t r i n g i n
@verbosity ,
S t r i n g i n
@options ,
S t r i n g i n
@search ,
S t r i n g i n
@parameters ,
B l o c k A r r a y i n
@AnswersetName , S t r i n g i n
@datalen OUTPUT, Long o u t
@recs OUTPUT
Long o u t
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success
ssasexp_system_search_start

514

ssasexp_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
EXEC master . dbo . s s a s e x p _ s y s t e m _ s e a r c h e s _ c o u n t (
@rc OUTPUT,
@sockh ,
@searchcount OUTPUT Long o u t
);

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ssasexp_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
CREATE TABLE # s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ l a y o u t (
searches
VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@searches OUTPUT, S t r i n g A r r a y o u t
@searches_num ,
@searches_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
searches
FROM # s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t
OPEN s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ c u r s o r ;

515

CALLING FROM MS SQL

FETCH FIRST FROM s s a s e x p _ s y s t e m _ s e a r c h e s _ g e t _ c u r s o r INTO


searches ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ssasexp_systems_count
Description:
the number of systems in the rulebase.

Prototype:
EXEC master . dbo . s sa s ex p _ sy s t e m s_ c ou n t (
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@systemscount OUTPUT Long o u t
);

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ssasexp_systems_get
Description:
Get the names of all the systems defined in the rulebase.
ssasexp_systems_count

516

Prototype:
CREATE TABLE # s s a s e x p _ s y s t e m s _ g e t _ l a y o u t (
systems VARCHAR( 2 5 6 ) )
INSERT # s s a s e x p _ s y s t e m s _ g e t _ l a y o u t
EXEC master . dbo . s s a s e x p _ s y s t e m s _ g e t _ l a y o u t
@rc OUTPUT,
@sockh ,
@rulebase ,
S t r i n g i n
@systems OUTPUT, S t r i n g A r r a y o u t
@systems_num ,
@systems_size ;
i f @rc < 0 begin
goto r e t ;
end ;
DECLARE s s a s e x p _ s y s t e m s _ g e t _ c u r s o r CURSOR SCROLL FOR
SELECT
systems
FROM # s s a s e x p _ s y s t e m s _ g e t
OPEN s s a s e x p _ s y s t e m s _ g e t _ c u r s o r ;
FETCH FIRST FROM s s a s e x p _ s y s t e m s _ g e t _ c u r s o r INTO
systems ;
WHILE @@FETCH_STATUS = 0 begin
...
END;

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

517

CALLING FROM MS SQL

Calling from PL/SQL


PL/SQL API functions are included in the files ssasep.sql (package header) and ssaseb.sql
(package body) located in the bin directory of the server installation. Utility functions that convert
CHAR to/from RAW are provided in idsconv.sql and ssasec.sql.

Constants
Constants are not available.

Requirements
These scripts require Oracle 9 or higher on the database server in order to function correctly as they call
external procedures.

Installation - Win32 Server


In order to use the function prototypes, the following libraries are required.
ssaiok.dll
ssasep.dll
ssaiok.dll is found in the SSA-NAME3 bin directory. ssasep.dll is located in the SSABIN directory on the Client and Developer Components installation. A directory containing them both should
be included in the system search path.
You must create a library SSA_SSASE that points to the MDM-RE PL/SQL DLL, ssasep.dll. Use this
SQL*Plus command, changing the path as necessary. A full path name is usually required on Win32.
CREATE OR REPLACE LIBRARY SSA_SSASE IS full_path_name;

Use SQL*Plus to create the packages by running the following scripts located in the bin directory of
the Server installation:
ssasep.sql package header
ssaseb.sql package body
idsconv.sql RAW <=> CHAR conversion utilities
ssasec.sql support utilities
Before running these scripts, you must replace the following values:
#SSA# with the connection string to the database
#SSAWORKDIR# with the path to the MDM-RE Working directory
518

Oracle 9i Notes
Oracle 9.i has a bug (on the Windows operating systems) which prevents it from calling dynamic load
libraries generated using the stdcall parameter passing method. For this version of Oracle a special
cdecl version of the ssasep library (ssasepcd.dll) can be found in the bin directory as well as a
special version of the ssaseb.sql file (ssasebcd.sql).

Installation - UNIX Server


You need to ensure that the MDM-RE shared libraries are installed in the standard shared library directories for your Oracle server.
For example on Linux you should configure /etc/ld.so.conf so that the directory in which you
have the MDM-RE libraries is included.
The following libraries are required:
libssaiok.so
libssasep.so
libssaiok.so is found in the SSA-NAME3 bin directory. libssasep.so is located in the SSABIN
directory on the MDM-RE installation. A directory containing them both should be included in the
system search path.
You must create a library SSA_SSASE that points to the shared object, libssasep.so. Use this
SQL*Plus command:
CREATE OR REPLACE LIBRARY SSA_SSASE IS libssasep.so;

Use SQL*Plus to create the packages by running the following scripts located in the bin directory of
the Server installation:
ssasep.sql package header
ssaseb.sql package body
idsconv.sql RAW <=> CHAR conversion utilities
ssasec.sql support utilities
On HPUX, shared libraries use the extension .sl instead of .so.

Oracle 9.2 Notes


Starting in Oracle9i release 2, EXTPROC will only load Shared Libraries/Dynamic Link Libraries (DLLs)
that are in $ORACLE_HOME/bin, $ORACLE_HOME/lib or from directories specified by the environment variable EXTPROC_DLLS (through the ENVS parameter in your listener.ora file). For example,
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)

519

CALLING FROM PL/SQL

(ORACLE_HOME = C:\oracle\ora92)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY,SSAOPTS=+L")
)
(SID_DESC =
(GLOBAL_DBNAME = ssa36920)
(ORACLE_HOME = C:\oracle\ora92)
(SID_NAME = ssa36920)
)
)

Refer to your Oracle configuration manuals for details on using ENVS. It is recommended that the
environment variable SSAOPTS=+L is also specified in Oracles environment, so that any client-side
error messages are logged to /tmp/ssalog.dbg.
When a requested DLL is not found in one of these locations Oracle will issue the following error
message:
ORA-28595 "Extproc agent : Invalid DLL Path"

Parameter types
Note: values in BOLD represent information that must be provided to the function.
It is important that fields are initialized to values sufficiently large to hold inputs or outputs. Always initialize
fields to the maximum required size before using them.
Special types called ssa_ids.ids_StringArray and ssa_ids.ids_LongArray are declared in
ssasep.sql for the benefit of functions that require tables of VARCHAR2 (2000) or tables of
NUMBER(10). These should be used in preference to declaring them yourself.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
FUNCTION i d s _ a d d r _ g e t _ c a s s _ f i e l d (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ i d x IN BINARY_INTEGER ,
Long i n
f i e l d _ v a l u e OUT RAW,
B l o c k o u t
f i e l d _ v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value
ids_addr_get_cass_field

520

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t (
sockh IN BINARY_INTEGER ,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long o u t

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ l e n g t h OUT ids_LongArray , LongArray o u t
f ie l d_ l en gt h _n u m IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field
521

CALLING FROM PL/SQL

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
FUNCTION i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER ,
d e l _ c a s e IN BINARY_INTEGER ,

d e l _ l i n e 1 OUT RAW,

d e l _ l i n e 1 _ s i z e IN BINARY_INTEGER ,
d e l _ l i n e 2 OUT RAW,

d e l _ l i n e 2 _ s i z e IN BINARY_INTEGER ,
d e l _ l i n e 3 OUT RAW,

d e l _ l i n e 3 _ s i z e IN BINARY_INTEGER ,
d e l _ l i n e 4 OUT RAW,

d e l _ l i n e 4 _ s i z e IN BINARY_INTEGER ,
d e l _ l i n e 5 OUT RAW,

d e l _ l i n e 5 _ s i z e IN BINARY_INTEGER ,
d e l _ l i n e 6 OUT RAW,

d e l _ l i n e 6 _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long i n
Long i n
Block out
Block out
Block out
Block out
Block out
Block out

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
ids_addr_get_del_lines_ext

522

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ i d x IN BINARY_INTEGER ,
Long i n
f i e l d _ v a l u e OUT RAW,
B l o c k o u t
f i e l d _ v a l u e _ s i z e IN BINARY_INTEGER ,
f i e l d _ v a l _ s t a t u s OUT IN BINARY_INTEGER , Long o u t
f i e l d _ v a l _ m o d s OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d _ c o u n t (
sockh IN BINARY_INTEGER ,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)
523

CALLING FROM PL/SQL

Long o u t

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d _ e x t (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ o p e r a t i o n IN BINARY_INTEGER , Long i n
field_name IN VARCHAR2,
S t r i n g i n
f i e l d _ i t e m _ l i n e IN BINARY_INTEGER , Long i n
f i e l d _ t y p e IN VARCHAR2,
S t r i n g i n
f i e l d _ v a l u e OUT RAW,
B l o c k o u t
f i e l d _ v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).
ids_addr_get_field_ext

524

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d _ i d x (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ i d x IN BINARY_INTEGER ,
Long i n
f i e l d _ v a l u e OUT RAW,
B l o c k o u t
f i e l d _ v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t (
sockh IN BINARY_INTEGER ,
s u g g e s t _ i d x IN BINARY_INTEGER , Long i n
f i e l d _ l e n g t h OUT ids_LongArray , LongArray o u t
f ie l d_ l en gt h _n u m IN BINARY_INTEGER ,
addr_label_encoded OUT RAW,
B l o c k o u t
a d d r _ l a b e l _ e n c o d e d _ s i z e IN BINARY_INTEGER ,
a d d r _ l a b e l _ c h a r s e t OUT VARCHAR2, S t r i n g o u t
a d d r _ l a b e l _ c h a r s e t _ s i z e IN BINARY_INTEGER ,
s c o r e OUT IN BINARY_INTEGER
Long o u t
RETURN BINARY_INTEGER
)

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score
525

CALLING FROM PL/SQL

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ f i e l d _ l e n (
sockh IN BINARY_INTEGER ,
max_len OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long o u t

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ l i n e _ l e n (
sockh IN BINARY_INTEGER ,
max_len OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long o u t

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success
ids_addr_get_field_len

526

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
FUNCTION i d s _ a d d r _ g e t _ o p t i o n (
sockh IN BINARY_INTEGER ,
param IN VARCHAR2,
value OUT VARCHAR2,
v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g o u t

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
FUNCTION i d s _ a d d r _ i n f o (
sockh IN BINARY_INTEGER ,
c o n t r o l s IN VARCHAR2,
value OUT VARCHAR2,
v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g o u t

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success
527

CALLING FROM PL/SQL

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
FUNCTION i d s _ a d d r _ i n i t (
sockh IN BINARY_INTEGER ,
max_memory IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
FUNCTION i d s _ a d d r _ p a r s e (
sockh IN BINARY_INTEGER ,
f i e l d _ l e n g t h OUT ids_LongArray , LongArray o u t
f ie l d_ l en gt h _n u m IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success
ids_addr_init

528

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
FUNCTION i d s _ a d d r _ p r e l o a d _ c o u n t r y (
sockh IN BINARY_INTEGER ,
p r e l o a d _ t y p e IN VARCHAR2,
p r e l o a d _ c o u n t r y IN VARCHAR2,
val_mode IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n
S t r i n g i n

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
FUNCTION i d s _ a d d r _ s e t _ a t t r i b (
sockh IN BINARY_INTEGER ,
c h a r _ s e t IN VARCHAR2,
d e f a u l t _ c o u n t r y IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.
529

CALLING FROM PL/SQL

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
FUNCTION i d s _ a d d r _ s e t _ d e l _ l i n e s (
sockh IN BINARY_INTEGER ,
d e l _ l i n e 1 IN RAW,
d e l _ l i n e 2 IN RAW,
d e l _ l i n e 3 IN RAW,
d e l _ l i n e 4 IN RAW,
d e l _ l i n e 5 IN RAW,
d e l _ l i n e 6 IN RAW
RETURN BINARY_INTEGER
)

Block
Block
Block
Block
Block
Block

in
in
in
in
in
in

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
ids_addr_set_del_lines

530

FUNCTION i d s _ a d d r _ s e t _ f i e l d _ c a s e (
sockh IN BINARY_INTEGER ,
f i e l d _ i d x IN BINARY_INTEGER ,
f i e l d _ c a s e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long i n
Long i n

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
FUNCTION i d s _ a d d r _ s e t _ f i e l d _ e x t (
sockh IN BINARY_INTEGER ,
f i e l d _ o p e r a t i o n IN BINARY_INTEGER , Long i n
field_name IN VARCHAR2,
S t r i n g i n
f i e l d _ i t e m _ l i n e IN BINARY_INTEGER , Long i n
f i e l d _ t y p e IN VARCHAR2,
S t r i n g i n
f i e l d _ v a l u e IN RAW
B l o c k i n
RETURN BINARY_INTEGER
)

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success
531

CALLING FROM PL/SQL

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
FUNCTION i d s _ a d d r _ s e t _ f i e l d _ i d x (
sockh IN BINARY_INTEGER ,
f i e l d _ i d x IN BINARY_INTEGER ,
f i e l d _ v a l u e IN RAW
RETURN BINARY_INTEGER
)

Long i n
B l o c k i n

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
FUNCTION i d s _ a d d r _ s e t _ f i e l d _ n a m e (
sockh IN BINARY_INTEGER ,
field_name IN VARCHAR2,
f i e l d _ v a l u e IN RAW
RETURN BINARY_INTEGER
)

S t r i n g i n
B l o c k i n

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success
ids_addr_set_field_idx

532

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
FUNCTION i d s _ a d d r _ s e t _ l i n e s (
sockh IN BINARY_INTEGER ,
l i n e _ 1 IN RAW,
l i n e _ 2 IN RAW,
l i n e _ 3 IN RAW,
l i n e _ 4 IN RAW,
l i n e _ 5 IN RAW,
l i n e _ 6 IN RAW,
l i n e _ 7 IN RAW,
l i n e _ 8 IN RAW,
l i n e _ 9 IN RAW,
l i n e _ 1 0 IN RAW
RETURN BINARY_INTEGER
)

Block
Block
Block
Block
Block
Block
Block
Block
Block
Block

in
in
in
in
in
in
in
in
in
in

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
533

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ a d d r _ s e t _ o p t i o n (
sockh IN BINARY_INTEGER ,
param IN VARCHAR2,
value IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
FUNCTION i d s _ a d d r _ s t d (
sockh IN BINARY_INTEGER ,
firm_name IN OUT VARCHAR2,
S t r i n g
firm_name_size IN BINARY_INTEGER ,
u r b a n i z a t i o n IN OUT VARCHAR2,
S t r i n g
u r b a n i z a t i o n _ s i z e IN BINARY_INTEGER ,
address_one IN OUT VARCHAR2,
S t r i n g
a d d r e s s _ o n e _ s i z e IN BINARY_INTEGER ,
address_two IN OUT VARCHAR2,
S t r i n g
a d d r e s s _ t w o _ s i z e IN BINARY_INTEGER ,
l a s t _ l i n e IN OUT VARCHAR2,
S t r i n g
l a s t _ l i n e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

io
io
io
io
io

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
ids_addr_std

534

address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
FUNCTION i d s _ a d d r _ v a l i d a t e (
sockh IN BINARY_INTEGER ,
s t a t u s OUT IN BINARY_INTEGER ,
Long o u t
n_suggest OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
535

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ c o n n e c t (
h o s t IN VARCHAR2,
p o r t IN BINARY_INTEGER ,
sockh OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
Long i n
Long o u t

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
FUNCTION i d s _ d i s c o n n e c t (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

ids_disconnect

536

Prototype:
FUNCTION i d s _ e r r o r _ g e t (
sockh IN BINARY_INTEGER ,
msg OUT VARCHAR2,
msg_size IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g o u t

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
FUNCTION i d s _ e r r o r s _ g e t _ a l l (
sockh IN BINARY_INTEGER ,
msg OUT VARCHAR2,
msg_size IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
537

CALLING FROM PL/SQL

S t r i n g o u t

Prototype:
FUNCTION i d s _ i d e n t i f y (
sockh IN BINARY_INTEGER ,
i d e n t i f i c a t i o n IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
FUNCTION i d s _ i s _ l i t t l e _ e n d i a n (
sockh IN BINARY_INTEGER ,
e n d i a n _ s t a t e OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.
ids_is_little_endian

538

Prototype:
FUNCTION i d s _ m a t c h _ e x p l a i n (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,

m a t c h _ t o l e r a n c e IN VARCHAR2,

s e a r c h r e c IN RAW,

f i l e r e c IN RAW,

i n f o _ a r r a y OUT RAW,

info_array_num IN BINARY_INTEGER ,
i n f o _ a r r a y _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
String in
Block in
Block in
BlockArray out

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
FUNCTION i d s _ m a t c h _ e x p l a i n _ c o u n t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
Long o u t

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
539

CALLING FROM PL/SQL

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
FUNCTION i d s _ p i d _ c l o s e (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
FUNCTION ids_pid_member_count (
sockh IN BINARY_INTEGER ,
p r e f i x IN RAW,
cluster_num IN BINARY_INTEGER ,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

B l o c k i n
Long i n
Long o u t

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success
ids_pid_close

540

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
FUNCTION ids_pid_member_get (
sockh IN BINARY_INTEGER ,
p r e f i x IN RAW,
cluster_num IN BINARY_INTEGER ,
r e c o r d OUT RAW,
r e c o r d _ s i z e IN BINARY_INTEGER ,
r e c i d OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

B l o c k i n
Long i n
B l o c k o u t
Long o u t

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
FUNCTION ids_pid_open (
sockh IN BINARY_INTEGER ,
m u l t i _ s e a r c h IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.
541

CALLING FROM PL/SQL

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
FUNCTION i d s _ p i d _ s e a r c h _ g e t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
S t r i n g i n
f i l e _ r e c OUT RAW,
B l o c k o u t
f i l e _ r e c _ s i z e IN BINARY_INTEGER ,
s c o r e OUT IN BINARY_INTEGER ,
Long o u t
d e c i s i o n OUT VARCHAR2,
S t r i n g o u t
d e c i s i o n _ s i z e IN BINARY_INTEGER ,
f i l e _ r e c i d OUT IN BINARY_INTEGER , Long o u t
c l u s t e r _ c o u n t OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.
ids_pid_search_get

542

Prototype:
FUNCTION i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,

f i l e _ r e c i d IN BINARY_INTEGER ,

p r e f i x s OUT RAW,

prefixs_num IN BINARY_INTEGER ,
p r e f i x s _ s i z e IN BINARY_INTEGER ,
cluster_nums OUT ids_LongArray ,
cluster_nums_num IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
Long i n
BlockArray out

LongArray o u t

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
FUNCTION i d s _ p i d _ s r c _ p k _ g e t (
sockh IN BINARY_INTEGER ,
s r c _ p k _ v a l u e OUT RAW,
B l o c k A r r a y o u t
src_pk_value_num IN BINARY_INTEGER ,
s r c _ p k _ v a l u e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
543

CALLING FROM PL/SQL

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
FUNCTION i d s _ p i d _ s r c _ p k _ s t a r t (
sockh IN BINARY_INTEGER ,
m u l t i _ s e a r c h IN VARCHAR2,
src_pk IN RAW
RETURN BINARY_INTEGER
)

S t r i n g i n
B l o c k A r r a y i n

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
FUNCTION i d s _ p s _ g e t _ e n t i t y _ l i s t (
sockh IN BINARY_INTEGER ,
gross_names OUT i d s _ S t r i n g A r r a y , S t r i n g A r r a y o u t
gross_names_num IN BINARY_INTEGER ,
gross_names_size IN BINARY_INTEGER ,
fine_names OUT i d s _ S t r i n g A r r a y , S t r i n g A r r a y o u t
fine_names_num IN BINARY_INTEGER ,
f i n e _ n a m e s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success
ids_pid_src_pk_start

544

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
FUNCTION i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s (
sockh IN BINARY_INTEGER ,
type IN VARCHAR2,
S t r i n g i n
elements OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
FUNCTION i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h (
sockh IN BINARY_INTEGER ,
type IN VARCHAR2,
S t r i n g i n
l e n g t h OUT IN BINARY_INTEGER
Long o u t
RETURN BINARY_INTEGER
)

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success
545

CALLING FROM PL/SQL

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
FUNCTION i d s _ p s _ p a r s e (
sockh IN BINARY_INTEGER ,
o p e r a t i o n IN VARCHAR2,

input IN RAW,

g r o s s IN OUT RAW,

gross_num IN BINARY_INTEGER ,
g r o s s _ s i z e IN BINARY_INTEGER ,
f i n e IN OUT RAW,

fine_num IN BINARY_INTEGER ,
f i n e _ s i z e IN BINARY_INTEGER ,
standard IN OUT RAW,

standard_num IN BINARY_INTEGER ,
s t a n d a r d _ s i z e IN BINARY_INTEGER ,
ps_format OUT RAW,

ps_format_num IN BINARY_INTEGER ,
p s _ f o r m a t _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
Block in
BlockArray io

BlockArray io

BlockArray io

BlockArray out

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data
ids_ps_parse

546

Prototype:
FUNCTION i d s _ p s _ s e t _ e n c o d i n g (
sockh IN BINARY_INTEGER ,
encoding IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
FUNCTION i d s _ p s _ s e t _ e n t i t y _ l i s t (
sockh IN BINARY_INTEGER ,
type IN VARCHAR2,
e n t i t y _ l i s t IN i d s _ S t r i n g A r r a y
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g A r r a y i n

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules
547

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ p s _ s e t _ p o p u l a t i o n (
sockh IN BINARY_INTEGER ,
system IN VARCHAR2,
p o p u l a t i o n IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ a s y n c _ g e t (
sockh IN BINARY_INTEGER ,
r e f e r e n c e IN VARCHAR2,
S t r i n g i n
b l o c k IN BINARY_INTEGER ,
Long i n
c l u s t e r _ a c t i o n _ c o u n t OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
ids_real_time_async_get

548

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ a s y n c _ s t a r t (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,

system IN VARCHAR2,

IDT IN VARCHAR2,

sequence_number IN VARCHAR2,

o p e r a t i o n IN VARCHAR2,

c l u s t e r _ r e c o r d IN RAW,

s o u r c e IN BINARY_INTEGER ,

m u l t i _ s e a r c h IN VARCHAR2,

i n p u t _ i d IN BINARY_INTEGER ,

r e f e r e n c e OUT VARCHAR2,

r e f e r e n c e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
String in
String in
String in
String in
Block in
Long i n
String in
Long i n
String out

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

Return Code:
negative for error
0 for success positive for warnings:
549

CALLING FROM PL/SQL

This must be passed to the

1-9 Reserved for future use


10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ a d d (
sockh IN BINARY_INTEGER ,
r u l e _ t y p e IN VARCHAR2,
s u b j e c t _ r e c _ p k IN RAW,
r e l a t i o n s h i p IN VARCHAR2,
r e l a t e d _ r e c _ p k IN RAW
RETURN BINARY_INTEGER
)

String in
Block in
String in
Block in

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

550

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ c l o s e (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ d e l e t e (
sockh IN BINARY_INTEGER ,
r u l e _ t y p e _ o p t i o n IN BINARY_INTEGER , Long i n
record_pk IN RAW
B l o c k i n
RETURN BINARY_INTEGER
)

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
551

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e (
sockh IN BINARY_INTEGER ,
i d t _ r e c IN RAW,
B l o c k i n
o p t i o n IN BINARY_INTEGER
Long i n
RETURN BINARY_INTEGER
)

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e (
sockh IN BINARY_INTEGER ,
i d t _ r e c OUT RAW,
i d t _ r e c _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

B l o c k o u t

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

552

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ f l u l _ i n i t (
sockh IN BINARY_INTEGER ,
idt_name IN VARCHAR2,
m u l t i _ s e a r c h IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ s y n c _ g e t (
sockh IN BINARY_INTEGER ,
r e f e r e n c e IN VARCHAR2,
S t r i n g i n
c l u s t e r _ a c t i o n _ t y p e OUT VARCHAR2, S t r i n g o u t
c l u s t e r _ a c t i o n _ t y p e _ s i z e IN BINARY_INTEGER ,
c l u s t e r _ a c t i o n _ i d OUT VARCHAR2, S t r i n g o u t
c l u s t e r _ a c t i o n _ i d _ s i z e IN BINARY_INTEGER ,
c l u s t e r _ a c t i o n _ n u m b e r OUT IN BINARY_INTEGER , Long o u t
c l u s t e r _ a c t i o n _ n e w OUT VARCHAR2, S t r i n g o u t
c l u s t e r _ a c t i o n _ n e w _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing
553

CALLING FROM PL/SQL

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
FUNCTION i d s _ r e a l _ t i m e _ s y n c _ s t a r t (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
S t r i n g i n
system IN VARCHAR2,
S t r i n g i n
IDT IN VARCHAR2,
S t r i n g i n
sequence_number IN VARCHAR2,
S t r i n g i n
o p e r a t i o n IN VARCHAR2,
S t r i n g i n
c l u s t e r _ r e c o r d IN RAW,
B l o c k i n
c l u s t e r _ a c t i o n _ c o u n t OUT IN BINARY_INTEGER , Long o u t
r e f e r e n c e OUT VARCHAR2,
S t r i n g o u t
r e f e r e n c e _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
ids_real_time_sync_start

554

1-9 Reserved for future use


10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
FUNCTION i d s _ s c o r e s _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
s c o r e s OUT ids_LongArray ,
scores_num IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
LongArray o u t

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.
555

CALLING FROM PL/SQL

Prototype:
FUNCTION ids_search_comment_get (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
comment OUT VARCHAR2,
comment_size IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g o u t

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
FUNCTION i d s _ s e a r c h _ d e d u p e _ s t a r t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,

search_width IN VARCHAR2,

m a t c h _ t o l e r a n c e IN VARCHAR2,

parameters IN RAW,

s e a r c h r e c IN OUT RAW,

s e a r c h r e c _ s i z e IN BINARY_INTEGER ,
AnswersetName IN VARCHAR2,

f l a g s IN BINARY_INTEGER ,

r e c i d IN OUT BINARY_INTEGER ,

r e c s IN OUT BINARY_INTEGER

RETURN BINARY_INTEGER
)

String in
String in
String in
BlockArray in
Block io
String in
Long i n
Long i o
Long i o

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
ids_search_dedupe_start

556

searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
FUNCTION i d s _ s e a r c h _ f i e l d s _ c o u n t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
f c OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
Long o u t

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.
557

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ s e a r c h _ f i e l d s _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
S t r i n g i n
f i e l d n a m e s OUT i d s _ S t r i n g A r r a y , S t r i n g A r r a y o u t
fieldnames_num IN BINARY_INTEGER ,
f i e l d n a m e s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
FUNCTION i d s _ s e a r c h _ f i l t e r (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
f i l t e r IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.
ids_search_filter

558

Prototype:
FUNCTION i d s _ s e a r c h _ f i n i s h (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
FUNCTION i d s _ s e a r c h _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
S t r i n g i n
s e a r c h r e t u r n OUT RAW,
B l o c k o u t
s e a r c h r e t u r n _ s i z e IN BINARY_INTEGER ,
s c o r e OUT IN BINARY_INTEGER ,
Long o u t
s r e p s OUT ids_LongArray ,
LongArray o u t
sreps_num IN BINARY_INTEGER ,
f r e p s OUT ids_LongArray ,
LongArray o u t
freps_num IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

559

CALLING FROM PL/SQL

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
FUNCTION i d s _ s e a r c h _ g e t _ c o m p l e t e (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
S t r i n g i n
s e a r c h r e t u r n OUT RAW,
B l o c k o u t
s e a r c h r e t u r n _ s i z e IN BINARY_INTEGER ,
s c o r e OUT IN BINARY_INTEGER ,
Long o u t
i n f o OUT RAW,
B l o c k o u t
i n f o _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.
ids_search_get_complete

560

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
FUNCTION i d s _ s e a r c h _ g e t _ d e t a i l (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
S t r i n g i n
f i l e _ r e c OUT RAW,
B l o c k o u t
f i l e _ r e c _ s i z e IN BINARY_INTEGER ,
s c o r e OUT IN BINARY_INTEGER ,
Long o u t
d e c i s i o n OUT VARCHAR2,
S t r i n g o u t
d e c i s i o n _ s i z e IN BINARY_INTEGER ,
f i l e _ r e c i d OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.
561

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ s e a r c h _ I D T _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
IDT OUT VARCHAR2,
IDT_size IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g o u t

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
FUNCTION i d s _ s e a r c h _ l a y o u t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
viewType IN VARCHAR2,
func IN VARCHAR2,
names OUT i d s _ S t r i n g A r r a y ,
names_num IN BINARY_INTEGER ,
names_size IN BINARY_INTEGER ,
l e n g t h s OUT ids_LongArray ,
lengths_num IN BINARY_INTEGER ,
o f f s e t s OUT ids_LongArray ,
offsets_num IN BINARY_INTEGER ,
r e p e a t s OUT ids_LongArray ,
repeats_num IN BINARY_INTEGER ,
formats OUT i d s _ S t r i n g A r r a y ,
formats_num IN BINARY_INTEGER ,
f o r m a t s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
String in
String in
StringArray out

LongArray o u t
LongArray o u t
LongArray o u t
S t r i n g A r r a y o u t

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
ids_search_layout

562

func describes the order of fields.


names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

563

CALLING FROM PL/SQL

Prototype:
FUNCTION i d s _ s e a r c h _ s t a r t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,

search_width IN VARCHAR2,

m a t c h _ t o l e r a n c e IN VARCHAR2,

parameters IN RAW,

s e a r c h r e c IN OUT RAW,

s e a r c h r e c _ s i z e IN BINARY_INTEGER ,
AnswersetName IN VARCHAR2,

r e c s OUT IN BINARY_INTEGER ,

r e c o r d s IN RAW

RETURN BINARY_INTEGER
)

String in
String in
String in
BlockArray in
Block io
String in
Long o u t
BlockArray in

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
ids_search_tolerances_count

564

Prototype:
FUNCTION i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
Long o u t

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
FUNCTION i d s _ s e a r c h _ t o l e r a n c e s _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
S t r i n g i n
t o l e r a n c e s OUT i d s _ S t r i n g A r r a y , S t r i n g A r r a y o u t
tolerances_num IN BINARY_INTEGER ,
t o l e r a n c e s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
565

CALLING FROM PL/SQL

Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
FUNCTION i d s _ s e a r c h _ v i e w _ g e t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
S t r i n g i n
viewType IN VARCHAR2,
S t r i n g i n
viewName OUT VARCHAR2,
S t r i n g o u t
viewName_size IN BINARY_INTEGER ,
viewFieldCount OUT IN BINARY_INTEGER , Long o u t
viewRecLen OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
FUNCTION i d s _ s e a r c h _ v i e w _ s e t (
sockh IN BINARY_INTEGER ,
s e a r c h IN VARCHAR2,
viewType IN VARCHAR2,
viewName IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n
S t r i n g i n

Parameters:
search is the name of the Search
ids_search_view_set

566

viewType the type of the view (input or output)


viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
FUNCTION i d s _ s e a r c h _ w i d t h s _ c o u n t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
count OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
Long o u t

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
FUNCTION i d s _ s e a r c h _ w i d t h s _ g e t (
sockh IN BINARY_INTEGER ,
searchname IN VARCHAR2,
widths OUT i d s _ S t r i n g A r r a y ,
widths_num IN BINARY_INTEGER ,
w i d t h s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)
567

CALLING FROM PL/SQL

S t r i n g i n
S t r i n g A r r a y o u t

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
FUNCTION i d s _ s e r v e r _ v e r s i o n _ g e t (
sockh IN BINARY_INTEGER ,
s e r v e r _ v e r s i o n OUT VARCHAR2,
S t r i n g o u t
s e r v e r _ v e r s i o n _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
FUNCTION i d s _ s e s s i o n _ c l o s e (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none
ids_server_version_get

568

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
FUNCTION i d s _ s e s s i o n _ o p e n (
sockh IN BINARY_INTEGER ,
s e s s i o n IN OUT BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
FUNCTION i d s _ s e t _ e n c o d i n g (
sockh IN BINARY_INTEGER ,
encoding IN BINARY_INTEGER
RETURN BINARY_INTEGER
)
569

CALLING FROM PL/SQL

Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
FUNCTION i d s _ s e t _ v p d _ u s e r (
sockh IN BINARY_INTEGER ,
vpd_user IN VARCHAR2,
vpd_ctx IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
FUNCTION i d s _ s y s t e m _ c l o s e (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none
ids_set_vpd_user

570

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
FUNCTION ids_system_idtname_count (
sockh IN BINARY_INTEGER ,
i d t c o u n t OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Long o u t

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
FUNCTION ids_system_idtname_get (
sockh IN BINARY_INTEGER ,
idtnames OUT i d s _ S t r i n g A r r a y ,
S t r i n g A r r a y o u t
idtnames_num IN BINARY_INTEGER ,
i d t n a m e s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success
571

CALLING FROM PL/SQL

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
FUNCTION i d s _ s y s t e m _ n o t i f y (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
sysname IN VARCHAR2,
message IN VARCHAR2
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g i n
S t r i n g i n

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
FUNCTION ids_system_open (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
system IN VARCHAR2,
v e r b o s i t y IN VARCHAR2,
Options IN VARCHAR2
RETURN BINARY_INTEGER
)

String
String
String
String

in
in
in
in

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
ids_system_notify

572

Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
FUNCTION i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t (
sockh IN BINARY_INTEGER ,
s e a r c h c o u n t OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
FUNCTION i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t (
sockh IN BINARY_INTEGER ,
s e a r c h e s OUT i d s _ S t r i n g A r r a y ,
S t r i n g A r r a y o u t
searches_num IN BINARY_INTEGER ,
s e a r c h e s _ s i z e IN BINARY_INTEGER ,
p i d _ p r e f i x OUT RAW,
B l o c k A r r a y o u t
573

CALLING FROM PL/SQL

pid_prefix_num IN BINARY_INTEGER ,
p i d _ p r e f i x _ s i z e IN BINARY_INTEGER ,
pid_opts OUT ids_LongArray ,
LongArray o u t
pid_opts_num IN BINARY_INTEGER ,
p r e f _ r e c _ o p t s OUT ids_LongArray , LongArray o u t
pref_rec_opts_num IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
FUNCTION i d s _ s y s t e m _ s e a r c h _ f i n i s h (
sockh IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
ids_system_search_finish

574

Prototype:
FUNCTION i d s _ s y s t e m _ s e a r c h _ s t a r t (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
system IN VARCHAR2,
v e r b o s i t y IN VARCHAR2,
o p t i o n s IN VARCHAR2,
s e a r c h IN VARCHAR2,
parameters IN RAW,
AnswersetName IN VARCHAR2,
d a t a l e n OUT IN BINARY_INTEGER ,
r e c s OUT IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

String in
String in
String in
String in
String in
BlockArray in
String in
Long o u t
Long o u t

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
FUNCTION i d s _ s y s t e m _ s e a r c h e s _ c o u n t (
sockh IN BINARY_INTEGER ,
s e a r c h c o u n t OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)
575

CALLING FROM PL/SQL

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
FUNCTION i d s _ s y s t e m _ s e a r c h e s _ g e t (
sockh IN BINARY_INTEGER ,
s e a r c h e s OUT i d s _ S t r i n g A r r a y ,
S t r i n g A r r a y o u t
searches_num IN BINARY_INTEGER ,
s e a r c h e s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
FUNCTION i d s _ s y s t e m s _ c o u n t (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
S t r i n g i n
systemscount OUT IN BINARY_INTEGER Long o u t
RETURN BINARY_INTEGER
)
ids_system_searches_get

576

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
FUNCTION i d s _ s y s t e m s _ g e t (
sockh IN BINARY_INTEGER ,
r u l e b a s e IN VARCHAR2,
systems OUT i d s _ S t r i n g A r r a y ,
systems_num IN BINARY_INTEGER ,
s y s t e m s _ s i z e IN BINARY_INTEGER
RETURN BINARY_INTEGER
)

S t r i n g i n
S t r i n g A r r a y o u t

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

577

CALLING FROM PL/SQL

Calling from PowerBuilder


PowerBuilder API functions are provided for PowerBuilder version 9 in the form of a user object.
This object is stored in a PowerBuilder dynamic library (pbd) which must be added to the library list
(ids.pbd which makes use of ssasep.dll). Once the pbd file is added to the library list an instance
of the MDM-RE user object can be created to access the API functions.
PowerBuilder API functions are provided for PowerBuilder version 10 in source form. The files
String2LongArray.srf, String2StringArray.srf and StringArray2String.srf should
be added to a project. The file ssaids.sru can then be added as well. You can then build a new
PowerBuilder dynamic library. This makes use of ssasep.dll.
The PowerBuilder examples demonstrate for how to implement the API functions through this user
object.

Constants
Constants are also available from this user object.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
using s s a ;
public int ids_addr_get_cass_field (
Long
suggest_idx ,
/ Long i n /
Long
field_idx ,
/ Long i n /
Ref S t r i n g
field_value ,
/ Block out /
Long
field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value
578

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
using s s a ;
public int ids_addr_get_cass_field_cnt (
Ref Long
count
/ Long out /
);

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using s s a ;
public int ids_addr_get_cass_field_info (
Long
suggest_idx ,
/ Long i n /
Ref Long
field_length ,
( ) / LongArray out /
Long
f ie l d_ l en gt h _n u m
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field
579

CALLING FROM POWERBUILDER

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
using s s a ;
public int ids_addr_get_del_lines_ext (
Long
suggest_idx ,
Long
del_case ,
Ref S t r i n g
del_line1 ,
Long
del_line1_size ,
Ref S t r i n g
del_line2 ,
Long
del_line2_size ,
Ref S t r i n g
del_line3 ,
Long
del_line3_size ,
Ref S t r i n g
del_line4 ,
Long
del_line4_size ,
Ref S t r i n g
del_line5 ,
Long
del_line5_size ,
Ref S t r i n g
del_line6 ,
Long
del_line6_size
);

/ Long i n /
/ Long i n /
/ Block out /
/ Block out /
/ Block out /
/ Block out /
/ Block out /
/ Block out /

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success
ids_addr_get_del_lines_ext

580

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
using s s a ;
public int ids_addr_get_field (
Long
suggest_idx ,
/ Long i n /
Long
field_idx ,
/ Long i n /
Ref S t r i n g
field_value ,
/ Block out /
Long
field_value_size ,
Ref Long
f i e l d _ v a l _ s t a t u s , / Long out /
Ref Long
f i e l d _ v a l _ m o d s / Long out /
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
using s s a ;
public int ids_addr_get_field_count (
Ref Long
count
);
581

CALLING FROM POWERBUILDER

/ Long out /

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
using s s a ;
public int ids_addr_get_field_ext (
Long
suggest_idx ,
/
Long
field_operation ,/
String
field_name ,
/
Long
f ie ld _ it em _ li ne ,/
String
field_type ,
/
Ref S t r i n g
field_value ,
/
Long
field_value_size
);

Long i n /
Long i n /
S t r i n g i n /
Long i n /
S t r i n g i n /
Block out /

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).
ids_addr_get_field_ext

582

Prototype:
using s s a ;
public int ids_addr_get_field_idx (
Long
suggest_idx ,
/ Long i n /
Long
field_idx ,
/ Long i n /
Ref S t r i n g
field_value ,
/ Block out /
Long
field_value_size
);

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
using s s a ;
public int ids_addr_get_field_info_ext (
Long
suggest_idx ,
/ Long i n /
Ref Long
field_length ,
( ) / LongArray out /
Long
field_length_num ,
Ref S t r i n g
addr_label_encoded , / Block out /
Long
addr_label_encoded_size ,
Ref S t r i n g
a d d r _ l a b e l _ c h a r s e t , / S t r i n g out /
Long
addr_label_charset_size ,
Ref Long
score
/ Long out /
);

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score
583

CALLING FROM POWERBUILDER

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
using s s a ;
public int ids_addr_get_field_len (
Ref Long
max_len
);

/ Long out /

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
using s s a ;
public int ids_addr_get_line_len (
Ref Long
max_len
);

/ Long out /

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success
ids_addr_get_field_len

584

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
using s s a ;
public i n t ids_addr_get_option (
String
param ,
Ref S t r i n g
value ,
Long
value_size
);

/ S t r i n g i n /
/ S t r i n g out /

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
using s s a ;
public i n t ids_addr_info (
String
controls ,
Ref S t r i n g
value ,
Long
value_size
);

/ S t r i n g i n /
/ S t r i n g out /

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success
585

CALLING FROM POWERBUILDER

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
using s s a ;
public int ids_addr_init (
Long
max_memory
);

/ Long i n /

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
using s s a ;
public i n t ids_addr_parse (
Ref Long
field_length ,
( ) / LongArray out /
Long
f ie l d_ l en gt h _n u m
);

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success
ids_addr_init

586

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
using s s a ;
public i n t ids_addr_preload_country (
String
preload_type ,
/ S t r i n g i n /
String
preload_country , / S t r i n g i n /
String
val_mode
/ S t r i n g i n /
);

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
using s s a ;
public int ids_addr_set_attrib (
String
char_set ,
/ S t r i n g i n /
String
d e f a u l t _ c o u n t r y / S t r i n g i n /
);

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.
587

CALLING FROM POWERBUILDER

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
using s s a ;
public int ids_addr_set_del_lines
String
del_line1
String
del_line2
String
del_line3
String
del_line4
String
del_line5
String
del_line6
);

(
,
,
,
,
,

/
/
/
/
/
/

Block
Block
Block
Block
Block
Block

in
in
in
in
in
in

/
/
/
/
/
/

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
ids_addr_set_del_lines

588

using s s a ;
public int ids_addr_set_field_case (
Long
field_idx ,
Long
field_case
);

/ Long i n /
/ Long i n /

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
using s s a ;
public int ids_addr_set_field_ext (
Long
field_operation
String
field_name ,
Long
field_item_line
String
field_type ,
String
field_value
);

,/
/
,/
/
/

Long i n /
S t r i n g i n /
Long i n /
S t r i n g i n /
Block i n /

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success
589

CALLING FROM POWERBUILDER

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using s s a ;
public int ids_addr_set_field_idx (
Long
field_idx ,
String
field_value
);

/ Long i n /
/ Block i n /

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
using s s a ;
public i n t ids_addr_set_field_name (
String
field_name ,
String
field_value
);

/ S t r i n g i n /
/ Block i n /

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success
ids_addr_set_field_idx

590

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
using s s a ;
public int ids_addr_set_lines (
String
line_1 ,
String
line_2 ,
String
line_3 ,
String
line_4 ,
String
line_5 ,
String
line_6 ,
String
line_7 ,
String
line_8 ,
String
line_9 ,
String
line_10
);

/
/
/
/
/
/
/
/
/
/

Block
Block
Block
Block
Block
Block
Block
Block
Block
Block

in
in
in
in
in
in
in
in
in
in

/
/
/
/
/
/
/
/
/
/

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
591

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public int ids_addr_set_option (
String
param ,
String
value
);

/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
using s s a ;
public i n t ids_addr_std
Ref S t r i n g
Long
Ref S t r i n g
Long
Ref S t r i n g
Long
Ref S t r i n g
Long
Ref S t r i n g
Long
);

(
firm_name ,
/
firm_name_size ,
urbanization ,
/
urbanization_size ,
address_one ,
/
address_one_size ,
address_two ,
/
address_two_size ,
last_line ,
/
last_line_size

S t r i n g i o /
S t r i n g i o /
S t r i n g i o /
S t r i n g i o /
S t r i n g i o /

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
ids_addr_std

592

address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
using s s a ;
public int ids_addr_validate (
Ref Long
status ,
Ref Long
n_suggest
);

/ Long out /
/ Long out /

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
593

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public i n t ids_connect (
String
host ,
Long
port ,
Ref Long
sockh
);

/ S t r i n g i n /
/ Long i n /
/ Long out /

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
using s s a ;
public int ids_disconnect ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

ids_disconnect

594

Prototype:
using s s a ;
public int ids_error_get (
Ref S t r i n g
msg ,
Long
msg_size
);

/ S t r i n g out /

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
using s s a ;
public int i d s _ e r r o r s _ g e t _ a l l (
Ref S t r i n g
msg ,
Long
msg_size
);

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
595

CALLING FROM POWERBUILDER

/ S t r i n g out /

Prototype:
using s s a ;
public int ids_identify (
String
identification
);

/ S t r i n g i n /

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
using s s a ;
public int i d s _ i s _ l i t t l e _ e n d i a n (
Ref Long
endian_state
);

/ Long out /

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.
ids_is_little_endian

596

Prototype:
using s s a ;
public i n t ids_match_explain (
String
search ,
/ S t r i n g i n /
String
m a t c h _ t o l e r a n c e , / S t r i n g i n /
String
searchrec ,
/ Block i n /
String
filerec ,
/ Block i n /
Ref S t r i n g
info_array ,
( ) / BlockArray out /
Long
info_array_num ,
Long
info_array_size
);

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
using s s a ;
public i n t ids_match_explain_count (
String
search ,
Ref Long
count
);

/ S t r i n g i n /
/ Long out /

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
597

CALLING FROM POWERBUILDER

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
using s s a ;
public int ids_pid_close ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
using s s a ;
p u b l i c i n t ids_pid_member_count (
String
prefix ,
Long
cluster_num ,
Ref Long
count
);

/ Block i n /
/ Long i n /
/ Long out /

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success
ids_pid_close

598

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
using s s a ;
p u b l i c i n t ids_pid_member_get (
String
prefix ,
Long
cluster_num ,
Ref S t r i n g
record ,
Long
record_size ,
Ref Long
recid
);

/ Block i n /
/ Long i n /
/ Block out /
/ Long out /

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
using s s a ;
p u b l i c i n t ids_pid_open (
String
multi_search
);

/ S t r i n g i n /

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.
599

CALLING FROM POWERBUILDER

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
using s s a ;
public int ids_pid_search_get (
String
search ,
Ref S t r i n g
file_rec ,
Long
file_rec_size ,
Ref Long
score ,
Ref S t r i n g
decision ,
Long
decision_size ,
Ref Long
file_recid ,
Ref Long
cluster_count
);

/ S t r i n g i n /
/ Block out /
/ Long out /
/ S t r i n g out /
/ Long out /
/ Long out /

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.
ids_pid_search_get

600

Prototype:
using s s a ;
public int ids_pid_search_get_clusters (
String
search ,
/ S t r i n g i n /
Long
file_recid ,
/ Long i n /
Ref S t r i n g
prefixs ,
( ) / BlockArray out /
Long
prefixs_num ,
Long
prefixs_size ,
Ref Long
cluster_nums ,
( ) / LongArray out /
Long
cluster_nums_num
);

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
using s s a ;
public i n t ids_pid_src_pk_get (
Ref S t r i n g
src_pk_value ,
( ) / BlockArray out /
Long
src_pk_value_num ,
Long
src_pk_value_size
);

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
601

CALLING FROM POWERBUILDER

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
using s s a ;
public int ids_pid_src_pk_start (
String
multi_search ,
String
src_pk
);

/ S t r i n g i n /
( ) / BlockArray i n /

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
using s s a ;
public int i d s _ p s _ g e t _ e n t i t y _ l i s t (
Ref S t r i n g
gross_names ,
( ) / S t r i n g A r r a y out /
Long
gross_names_num ,
Long
gross_names_size ,
Ref S t r i n g
fine_names ,
( ) / S t r i n g A r r a y out /
Long
fine_names_num ,
Long
fine_names_size
);

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success
ids_pid_src_pk_start

602

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
using s s a ;
public i n t ids_ps_get_entity_max_elements (
String
type ,
/ S t r i n g i n /
Ref Long
elements
/ Long out /
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
using s s a ;
public i n t ids_ps_get_entity_max_length (
String
type ,
/ S t r i n g i n /
Ref Long
length
/ Long out /
);

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success
603

CALLING FROM POWERBUILDER

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
using s s a ;
public i n t ids_ps_parse
String
String
Ref S t r i n g
Long
Long
Ref S t r i n g
Long
Long
Ref S t r i n g
Long
Long
Ref S t r i n g
Long
Long
);

(
operation ,
input ,
gross ,
gross_num ,
gross_size ,
fine ,
fine_num ,
fine_size ,
standard ,
standard_num ,
standard_size ,
ps_format ,
ps_format_num ,
ps_format_size

/ S t r i n g i n /
/ Block i n /
( ) / BlockArray i o /

( ) / BlockArray i o /

( ) / BlockArray i o /

( ) / BlockArray out /

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data
ids_ps_parse

604

Prototype:
using s s a ;
public i n t ids_ps_set_encoding (
Long
encoding
);

/ Long i n /

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
using s s a ;
public int i d s _ p s _ s e t _ e n t i t y _ l i s t (
String
type ,
String
entity_list
);

/ S t r i n g i n /
( ) / S t r i n g A r r a y i n /

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules
605

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public int ids_ps_set_population (
String
system ,
String
population
);

/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
using s s a ;
public int ids_real_time_async_get (
String
reference ,
/ S t r i n g i n /
Long
block ,
/ Long i n /
Ref Long
c l u s t e r _ a c t i o n _ c o u n t / Long out /
);

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
ids_real_time_async_get

606

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
using s s a ;
public int ids_real_time_async_start (
String
rulebase ,
/
String
system ,
/
String
IDT ,
/
String
sequence_number , /
String
operation ,
/
String
c l u s t e r _ r e c o r d , /
Long
source ,
/
String
multi_search ,
/
Long
input_id ,
/
Ref S t r i n g
reference ,
/
Long
reference_size
);

S t r i n g i n /
S t r i n g i n /
S t r i n g i n /
S t r i n g i n /
S t r i n g i n /
Block i n /
Long i n /
S t r i n g i n /
Long i n /
S t r i n g out /

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

Return Code:
negative for error
0 for success positive for warnings:
607

CALLING FROM POWERBUILDER

This must be passed to the

1-9 Reserved for future use


10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
using s s a ;
public int ids_real_time_flul_add (
String
rule_type ,
String
subject_rec_pk ,
String
relationship ,
String
related_rec_pk
);

/
/
/
/

S t r i n g i n /
Block i n /
S t r i n g i n /
Block i n /

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

608

Prototype:
using s s a ;
public int ids_real_time_flul_close ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
using s s a ;
public int ids_real_time_flul_delete (
Long
r u l e _ t y p e _ o p t i o n , / Long i n /
String
record_pk
/ Block i n /
);

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
609

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public int ids_real_time_flul_find_rule (
String
idt_rec ,
/ Block i n /
Long
option
/ Long i n /
);

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
using s s a ;
public int ids_real_time_flul_get_rule (
Ref S t r i n g
idt_rec ,
/ Block out /
Long
idt_rec_size
);

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

610

Prototype:
using s s a ;
public int i d s _ r e a l _ t i m e _ f l u l _ i n i t (
String
idt_name ,
String
multi_search
);

/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
using s s a ;
public int ids_real_time_sync_get (
String
reference ,
/ S t r i n g i n /
Ref S t r i n g
c l u s t e r _ a c t i o n _ t y p e , / S t r i n g out /
Long
cluster_action_type_size ,
Ref S t r i n g
c l u s t e r _ a c t i o n _ i d , / S t r i n g out /
Long
cluster_action_id_size ,
Ref Long
c l u s t e r _ a c t i o n _ n u m b e r , / Long out /
Ref S t r i n g
c l u s t e r _ a c t i o n _ n e w , / S t r i n g out /
Long
cluster_action_new_size
);

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing
611

CALLING FROM POWERBUILDER

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
using s s a ;
public int ids_real_time_sync_start (
String
rulebase ,
/ S t r i n g i n /
String
system ,
/ S t r i n g i n /
String
IDT ,
/ S t r i n g i n /
String
sequence_number , / S t r i n g i n /
String
operation ,
/ S t r i n g i n /
String
c l u s t e r _ r e c o r d , / Block i n /
Ref Long
c l u s t e r _ a c t i o n _ c o u n t , / Long out /
Ref S t r i n g
reference ,
/ S t r i n g out /
Long
reference_size
);

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
ids_real_time_sync_start

612

1-9 Reserved for future use


10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
using s s a ;
public int ids_scores_get (
String
searchname ,
Ref Long
scores ,
Long
scores_num
);

/ S t r i n g i n /
( ) / LongArray out /

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.
613

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
p u b l i c i n t ids_search_comment_get (
String
searchname ,
Ref S t r i n g
comment ,
Long
comment_size
);

/ S t r i n g i n /
/ S t r i n g out /

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
using s s a ;
public int ids_search_dedupe_start (
String
search ,
/ S t r i n g i n /
String
search_width ,
/ S t r i n g i n /
String
m a t c h _ t o l e r a n c e , / S t r i n g i n /
String
parameters ,
( ) / BlockArray i n /
Ref S t r i n g
searchrec ,
/ Block i o /
Long
searchrec_size ,
String
AnswersetName , / S t r i n g i n /
Long
flags ,
/ Long i n /
Ref Long
recid ,
/ Long i o /
Ref Long
recs
/ Long i o /
);

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
ids_search_dedupe_start

614

searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
using s s a ;
public int ids_search_fields_count (
String
searchname ,
Ref Long
fc
);

/ S t r i n g i n /
/ Long out /

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.
615

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public int ids_search_fields_get (
String
searchname ,
/ S t r i n g i n /
Ref S t r i n g
fieldnames ,
( ) / S t r i n g A r r a y out /
Long
fieldnames_num ,
Long
fieldnames_size
);

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
using s s a ;
public int i d s _ s e a r c h _ f i l t e r (
String
search ,
String
filter
);

/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.
ids_search_filter

616

Prototype:
using s s a ;
public int ids_search_finish (
String
search
);

/ S t r i n g i n /

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
using s s a ;
public int ids_search_get (
String
searchname ,
/ S t r i n g i n /
Ref S t r i n g
searchreturn ,
/ Block out /
Long
searchreturn_size ,
Ref Long
score ,
/ Long out /
Ref Long
sreps ,
( ) / LongArray out /
Long
sreps_num ,
Ref Long
freps ,
( ) / LongArray out /
Long
freps_num
);

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

617

CALLING FROM POWERBUILDER

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
using s s a ;
public i n t ids_search_get_complete (
String
search ,
/
Ref S t r i n g
searchreturn ,
/
Long
searchreturn_size ,
Ref Long
score ,
/
Ref S t r i n g
info ,
/
Long
info_size
);

S t r i n g i n /
Block out /
Long out /
Block out /

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.
ids_search_get_complete

618

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
using s s a ;
public int ids_search_get_detail (
String
search ,
Ref S t r i n g
file_rec ,
Long
file_rec_size ,
Ref Long
score ,
Ref S t r i n g
decision ,
Long
decision_size ,
Ref Long
file_recid
);

/ S t r i n g i n /
/ Block out /
/ Long out /
/ S t r i n g out /
/ Long out /

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.
619

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public i n t ids_search_IDT_get (
String
searchname ,
Ref S t r i n g
IDT ,
Long
IDT_size
);

/ S t r i n g i n /
/ S t r i n g out /

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
using s s a ;
public int ids_search_layout (
String
search ,
String
viewType ,
String
func ,
Ref S t r i n g
names ,
Long
names_num ,
Long
names_size ,
Ref Long
lengths ,
Long
lengths_num ,
Ref Long
offsets ,
Long
offsets_num ,
Ref Long
repeats ,
Long
repeats_num ,
Ref S t r i n g
formats ,
Long
formats_num ,
Long
formats_size
);

/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /
( ) / S t r i n g A r r a y out /

( ) / LongArray out /
( ) / LongArray out /
( ) / LongArray out /
( ) / S t r i n g A r r a y out /

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
ids_search_layout

620

func describes the order of fields.


names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

621

CALLING FROM POWERBUILDER

Prototype:
using s s a ;
public int ids_search_start (
String
search ,
/ S t r i n g i n /
String
search_width ,
/ S t r i n g i n /
String
m a t c h _ t o l e r a n c e , / S t r i n g i n /
String
parameters ,
( ) / BlockArray i n /
Ref S t r i n g
searchrec ,
/ Block i o /
Long
searchrec_size ,
String
AnswersetName , / S t r i n g i n /
Ref Long
recs ,
/ Long out /
String
records
( ) / BlockArray i n /
);

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.
ids_search_tolerances_count

622

Prototype:
using s s a ;
public int ids_search_tolerances_count (
String
searchname ,
/ S t r i n g i n /
Ref Long
count
/ Long out /
);

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
using s s a ;
public int ids_search_tolerances_get (
String
searchname ,
/ S t r i n g i n /
Ref S t r i n g
tolerances ,
( ) / S t r i n g A r r a y out /
Long
tolerances_num ,
Long
tolerances_size
);

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
623

CALLING FROM POWERBUILDER

Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
using s s a ;
public i n t ids_search_view_get (
String
search ,
/
String
viewType ,
/
Ref S t r i n g
viewName ,
/
Long
viewName_size ,
Ref Long
viewFieldCount , /
Ref Long
viewRecLen
/
);

S t r i n g i n /
S t r i n g i n /
S t r i n g out /
Long out /
Long out /

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
using s s a ;
public int ids_search_view_set (
String
search ,
String
viewType ,
String
viewName
);

/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
search is the name of the Search
ids_search_view_set

624

viewType the type of the view (input or output)


viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
using s s a ;
public i n t ids_search_widths_count (
String
searchname ,
Ref Long
count
);

/ S t r i n g i n /
/ Long out /

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
using s s a ;
public i n t ids_search_widths_get (
String
searchname ,
Ref S t r i n g
widths ,
Long
widths_num ,
Long
widths_size
);
625

CALLING FROM POWERBUILDER

/ S t r i n g i n /
( ) / S t r i n g A r r a y out /

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
using s s a ;
public int ids_server_version_get (
Ref S t r i n g
s e r v e r _ v e r s i o n , / S t r i n g out /
Long
server_version_size
);

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
using s s a ;
public int ids_session_close ( ) ;

Parameters:
none
ids_server_version_get

626

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
using s s a ;
public i n t ids_session_open (
Ref Long
session
);

/ Long i o /

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
using s s a ;
public i n t ids_set_encoding (
Long
encoding
);
627

CALLING FROM POWERBUILDER

/ Long i n /

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
using s s a ;
public i n t ids_set_vpd_user (
String
vpd_user ,
String
vpd_ctx
);

/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
using s s a ;
public int ids_system_close ( ) ;

Parameters:
none
ids_set_vpd_user

628

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
p u b l i c i n t ids_system_idtname_count (
Ref Long
idtcount
);

/ Long out /

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
using s s a ;
p u b l i c i n t ids_system_idtname_get (
Ref S t r i n g
idtnames ,
Long
idtnames_num ,
Long
idtnames_size
);

( ) / S t r i n g A r r a y out /

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success
629

CALLING FROM POWERBUILDER

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
using s s a ;
public int ids_system_notify (
String
rulebase ,
String
sysname ,
String
message
);

/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
using s s a ;
p u b l i c i n t ids_system_open (
String
rulebase ,
String
system ,
String
verbosity ,
String
Options
);

/
/
/
/

String
String
String
String

in
in
in
in

/
/
/
/

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
ids_system_notify

630

Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
using s s a ;
public i n t ids_system_pid_searches_count (
Ref Long
searchcount
/ Long out /
);

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
using s s a ;
public i n t ids_system_pid_searches_get (
Ref S t r i n g
searches ,
( ) / S t r i n g A r r a y out /
Long
searches_num ,
Long
searches_size ,
631

CALLING FROM POWERBUILDER

Ref S t r i n g
Long
Long
Ref Long
Long
Ref Long
Long

pid_prefix ,
( ) / BlockArray out /
pid_prefix_num ,
pid_prefix_size ,
pid_opts ,
( ) / LongArray out /
pid_opts_num ,
p r e f _ r e c _ o p t s , ( ) / LongArray out /
pref_rec_opts_num

);

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
using s s a ;
public int ids_system_search_finish ( ) ;

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
ids_system_search_finish

632

Prototype:
using s s a ;
public int ids_system_search_start (
String
rulebase ,
String
system ,
String
verbosity ,
String
options ,
String
search ,
String
parameters ,
String
AnswersetName ,
Ref Long
datalen ,
Ref Long
recs
);

/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /
/ S t r i n g i n /
( ) / BlockArray i n /
/ S t r i n g i n /
/ Long out /
/ Long out /

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
using s s a ;
public i n t ids_system_searches_count (
Ref Long
searchcount
);
633

CALLING FROM POWERBUILDER

/ Long out /

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
using s s a ;
public int ids_system_searches_get (
Ref S t r i n g
searches ,
Long
searches_num ,
Long
searches_size
);

( ) / S t r i n g A r r a y out /

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
using s s a ;
public i n t ids_systems_count (
String
rulebase ,
Ref Long
systemscount
);

/ S t r i n g i n /
/ Long out /

ids_system_searches_get

634

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
using s s a ;
public i n t ids_systems_get (
String
rulebase ,
Ref S t r i n g
systems ,
Long
systems_num ,
Long
systems_size
);

/ S t r i n g i n /
( ) / S t r i n g A r r a y out /

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

635

CALLING FROM POWERBUILDER

Calling from Visual Basic v6


The API functions can be directly called from Visual Basic version 6 by including the following file in
your VB project:
ssasev6.bas

This file contains function definitions for calling the APIs contained in ssasea.dll.
Alternatively, the API may be called via an OCX as described in the Calling from Visual Basic with an
Active X Control section.
The API functions can also be called from Visual Basic .NET using the ssasecs.dll as described in
the Calling from Visual Basic .NET section.

Constants
Constants are declared as public properties, in uppercase using underscores. Constants are prefixed
with SSA_, eg. SSA_MSG_SIZE.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success
636

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success
637

CALLING FROM VISUAL BASIC V6

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Public Function i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef d e l _ c a s e As I n t e g e r , _ Long i n
ByVal d e l _ l i n e 1 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 1 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 2 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 2 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 3 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 3 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 4 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 4 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 5 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 5 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 6 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 6 _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.
ids_addr_get_del_lines_ext

638

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r , _
ByVal f i e l d _ v a l _ s t a t u s As I n t e g e r , _ Long o u t
ByVal f i e l d _ v a l _ m o d s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ c o u n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields
639

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i d x ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value
ids_addr_get_field_idx

640

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r , _
ByVal addr_label_encoded ( ) As Byte , _ B l o c k o u t
ByRef a d d r _ l a b e l _ e n c o d e d _ s i z e As I n t e g e r , _
ByVal a d d r _ l a b e l _ c h a r s e t As String , _ S t r i n g o u t
ByRef a d d r _ l a b e l _ c h a r s e t _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.
641

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ l i n e _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ g e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r
ids_addr_get_line_len

642

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
Public Function i d s _ a d d r _ i n f o ( _
ByRef c o n t r o l s As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Public Function i d s _ a d d r _ i n i t ( _
ByRef max_memory As I n t e g e r
) As I n t e g e r

_ Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.
643

CALLING FROM VISUAL BASIC V6

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ p a r s e ( _
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
Public Function i d s _ a d d r _ p r e l o a d _ c o u n t r y ( _
ByRef p r e l o a d _ t y p e As String , _ S t r i n g i n
ByRef p r e l o a d _ c o u n t r y As String , _ S t r i n g i n
ByRef val_mode As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used
ids_addr_parse

644

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
Public Function i d s _ a d d r _ s e t _ a t t r i b ( _
ByRef c h a r _ s e t As String , _ S t r i n g i n
ByRef d e f a u l t _ c o u n t r y As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Public Function i d s _ a d d r _ s e t _ d e l _ l i n e s ( _
ByRef d e l _ l i n e 1 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 2 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 3 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 4 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 5 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 6 ( ) As Byte _ B l o c k
) As I n t e g e r

Parameters:
del_line1 delivery address line 1 input string
645

CALLING FROM VISUAL BASIC V6

in
in
in
in
in
in

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ c a s e ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ c a s e As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ e x t ( _
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r
ids_addr_set_field_case

646

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ i d x ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name
647

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ n a m e ( _
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ l i n e s ( _
ByRef l i n e _ 1 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 2 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 3 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 4 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 5 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 6 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 7 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 8 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 9 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 1 0 ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address
ids_addr_set_lines

648

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ s e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByRef value As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
Public Function i d s _ a d d r _ s t d ( _
ByVal firm_name As String , _ S t r i n g i o
ByRef firm_name_size As I n t e g e r , _
ByVal u r b a n i z a t i o n As String , _ S t r i n g i o
ByRef u r b a n i z a t i o n _ s i z e As I n t e g e r , _
ByVal address_one As String , _ S t r i n g i o
ByRef a d d r e s s _ o n e _ s i z e As I n t e g e r , _
ByVal address_two As String , _ S t r i n g i o
ByRef a d d r e s s _ t w o _ s i z e As I n t e g e r , _
ByVal l a s t _ l i n e As String , _ S t r i n g i o
ByRef l a s t _ l i n e _ s i z e As I n t e g e r _
) As I n t e g e r
649

CALLING FROM VISUAL BASIC V6

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
Public Function i d s _ a d d r _ v a l i d a t e ( _
ByVal s t a t u s As I n t e g e r , _ Long o u t
ByVal n_suggest As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
ids_addr_validate

650

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef h o s t As String , _ S t r i n g i n
ByRef p o r t As I n t e g e r , _ Long i n
ByVal sockh As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

651

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ e r r o r _ g e t ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r s _ g e t _ a l l ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
ids_errors_get_all

652

Prototype:
Public Function i d s _ i d e n t i f y ( _
ByRef i d e n t i f i c a t i o n As S t r i n g
) As I n t e g e r

_ String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
Public Function i d s _ i s _ l i t t l e _ e n d i a n ( _
ByVal e n d i a n _ s t a t e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
653

CALLING FROM VISUAL BASIC V6

Public Function i d s _ m a t c h _ e x p l a i n ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef s e a r c h r e c ( ) As Byte , _ B l o c k i n
ByRef f i l e r e c ( ) As Byte , _ B l o c k i n
ByVal i n f o _ a r r a y ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef info_array_num As I n t e g e r , _
ByRef i n f o _ a r r a y _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n _ c o u n t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
ids_match_explain_count

654

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Public Function i d s _ p i d _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
Public Function ids_pid_member_count ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
655

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function ids_pid_member_get ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal r e c o r d ( ) As Byte , _ B l o c k o u t
ByRef r e c o r d _ s i z e As I n t e g e r , _
ByVal r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Public Function ids_pid_open ( _
ByRef m u l t i _ s e a r c h As S t r i n g
) As I n t e g e r

_ String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.
ids_pid_open

656

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l e _ r e c i d As I n t e g e r , _ Long i n
ByVal p r e f i x s ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef prefixs_num As I n t e g e r , _
ByRef p r e f i x s _ s i z e As I n t e g e r , _
ByVal cluster_nums ( ) As I n t e g e r , _ LongArray o u t
ByRef cluster_nums_num As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster
657

CALLING FROM VISUAL BASIC V6

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ g e t ( _
ByVal s r c _ p k _ v a l u e ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef src_pk_value_num As I n t e g e r , _
ByRef s r c _ p k _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ s t a r t ( _
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef src_pk ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success
ids_pid_src_pk_get

658

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ l i s t ( _
ByVal gross_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef gross_names_num As I n t e g e r , _
ByRef gross_names_size As I n t e g e r , _
ByVal fine_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef fine_names_num As I n t e g e r , _
ByRef f i n e _ n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
ByRef type As String , _ S t r i n g i n
ByVal elements As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success
659

CALLING FROM VISUAL BASIC V6

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
ByRef type As String , _ S t r i n g i n
ByVal l e n g t h As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Public Function i d s _ p s _ p a r s e ( _
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef input ( ) As Byte , _ B l o c k i n
ByVal g r o s s ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef gross_num As I n t e g e r , _
ByRef g r o s s _ s i z e As I n t e g e r , _
ByVal f i n e ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef fine_num As I n t e g e r , _
ByRef f i n e _ s i z e As I n t e g e r , _
ByVal standard ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef standard_num As I n t e g e r , _
ByRef s t a n d a r d _ s i z e As I n t e g e r , _
ByVal ps_format ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef ps_format_num As I n t e g e r , _
ByRef p s _ f o r m a t _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
ids_ps_get_entity_max_length

660

gross Gross entities used as input or output


fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
Public Function i d s _ p s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Public Function i d s _ p s _ s e t _ e n t i t y _ l i s t ( _
ByRef type As String , _ S t r i n g i n
ByRef e n t i t y _ l i s t ( ) As S t r i n g _ S t r i n g A r r a y i n
) As I n t e g e r

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names
661

CALLING FROM VISUAL BASIC V6

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
Public Function i d s _ p s _ s e t _ p o p u l a t i o n ( _
ByRef system As String , _ S t r i n g i n
ByRef p o p u l a t i o n As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByRef b l o c k As I n t e g e r , _ Long i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response
ids_ps_set_population

662

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByRef s o u r c e As I n t e g e r , _ Long i n
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef i n p u t _ i d As I n t e g e r , _ Long i n
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
663

CALLING FROM VISUAL BASIC V6

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ a d d ( _
ByRef r u l e _ t y p e As String , _ S t r i n g i n
ByRef s u b j e c t _ r e c _ p k ( ) As Byte , _ B l o c k i n
ByRef r e l a t i o n s h i p As String , _ S t r i n g i n
ByRef r e l a t e d _ r e c _ p k ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

664

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ d e l e t e ( _
ByRef r u l e _ t y p e _ o p t i o n As I n t e g e r , _ Long i n
ByRef record_pk ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
665

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
ByRef i d t _ r e c ( ) As Byte , _ B l o c k i n
ByRef o p t i o n As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e ( _
ByVal i d t _ r e c ( ) As Byte , _ B l o c k o u t
ByRef i d t _ r e c _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

666

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ i n i t ( _
ByRef idt_name As String , _ S t r i n g i n
ByRef m u l t i _ s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByVal c l u s t e r _ a c t i o n _ t y p e As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ t y p e _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ i d As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ i d _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ n u m b e r As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ a c t i o n _ n e w As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ n e w _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results
667

CALLING FROM VISUAL BASIC V6

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r , _ Long o u t
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
ids_real_time_sync_start

668

13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
Public Function i d s _ s c o r e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s c o r e s ( ) As I n t e g e r , _ LongArray o u t
ByRef scores_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
669

CALLING FROM VISUAL BASIC V6

Public Function ids_search_comment_get ( _


ByRef searchname As String , _ S t r i n g i n
ByVal comment As String , _ S t r i n g o u t
ByRef comment_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
Public Function i d s _ s e a r c h _ d e d u p e _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef f l a g s As I n t e g e r , _ Long i n
ByVal r e c i d As I n t e g e r , _ Long i o
ByVal r e c s As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
ids_search_dedupe_start

670

flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f c As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f i e l d n a m e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef fieldnames_num As I n t e g e r , _
ByRef f i e l d n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r
671

CALLING FROM VISUAL BASIC V6

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
Public Function i d s _ s e a r c h _ f i l t e r ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l t e r As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Public Function i d s _ s e a r c h _ f i n i s h ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the search that was performed
ids_search_filter

672

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
Public Function i d s _ s e a r c h _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal s r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef sreps_num As I n t e g e r , _
ByVal f r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef freps_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".
673

CALLING FROM VISUAL BASIC V6

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ c o m p l e t e ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal i n f o ( ) As Byte , _ B l o c k o u t
ByRef i n f o _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
ids_search_get_complete

674

Public Function i d s _ s e a r c h _ g e t _ d e t a i l ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Public Function i d s _ s e a r c h _ I D T _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal IDT As String , _ S t r i n g o u t
ByRef IDT_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success
675

CALLING FROM VISUAL BASIC V6

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
Public Function i d s _ s e a r c h _ l a y o u t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef func As String , _ S t r i n g i n
ByVal names ( ) As String , _ S t r i n g A r r a y o u t
ByRef names_num As I n t e g e r , _
ByRef names_size As I n t e g e r , _
ByVal l e n g t h s ( ) As I n t e g e r , _ LongArray o u t
ByRef lengths_num As I n t e g e r , _
ByVal o f f s e t s ( ) As I n t e g e r , _ LongArray o u t
ByRef offsets_num As I n t e g e r , _
ByVal r e p e a t s ( ) As I n t e g e r , _ LongArray o u t
ByRef repeats_num As I n t e g e r , _
ByVal formats ( ) As String , _ S t r i n g A r r a y o u t
ByRef formats_num As I n t e g e r , _
ByRef f o r m a t s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)


ids_search_layout

676

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Public Function i d s _ s e a r c h _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByVal r e c s As I n t e g e r , _ Long o u t
ByRef r e c o r d s ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
677

CALLING FROM VISUAL BASIC V6

parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
ids_search_tolerances_count

678

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal t o l e r a n c e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef tolerances_num As I n t e g e r , _
ByRef t o l e r a n c e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByVal viewName As String , _ S t r i n g o u t
ByRef viewName_size As I n t e g e r , _
ByVal viewFieldCount As I n t e g e r , _ Long o u t
ByVal viewRecLen As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
679

CALLING FROM VISUAL BASIC V6

viewFieldCount the number of fields in the view


viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ s e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef viewName As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.
ids_search_view_set

680

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal widths ( ) As String , _ S t r i n g A r r a y o u t
ByRef widths_num As I n t e g e r , _
ByRef w i d t h s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
Public Function i d s _ s e r v e r _ v e r s i o n _ g e t ( _
ByVal s e r v e r _ v e r s i o n As String , _ S t r i n g o u t
ByRef s e r v e r _ v e r s i o n _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success
681

CALLING FROM VISUAL BASIC V6

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
Public Function i d s _ s e s s i o n _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Public Function i d s _ s e s s i o n _ o p e n ( _
ByVal s e s s i o n As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
ids_session_close

682

if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
Public Function i d s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Public Function i d s _ s e t _ v p d _ u s e r ( _
ByRef vpd_user As String , _ S t r i n g i n
ByRef vpd_ctx As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.
683

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ s y s t e m _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_count ( _
ByVal i d t c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_get ( _
ByVal idtnames ( ) As String , _ S t r i n g A r r a y o u t
ByRef idtnames_num As I n t e g e r , _
ByRef i d t n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).
ids_system_idtname_count

684

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
Public Function i d s _ s y s t e m _ n o t i f y ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef sysname As String , _ S t r i n g i n
ByRef message As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
Public Function ids_system_open ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef Options As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
685

CALLING FROM VISUAL BASIC V6

verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r , _
ByVal p i d _ p r e f i x ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef pid_prefix_num As I n t e g e r , _
ids_system_pid_searches_count

686

ByRef
ByVal
ByRef
ByVal
ByRef
) As I n t e g e r

p i d _ p r e f i x _ s i z e As I n t e g e r , _
pid_opts ( ) As I n t e g e r , _ LongArray o u t
pid_opts_num As I n t e g e r , _
p r e f _ r e c _ o p t s ( ) As I n t e g e r , _ LongArray o u t
pref_rec_opts_num As I n t e g e r _

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ f i n i s h ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
687

CALLING FROM VISUAL BASIC V6

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef o p t i o n s As String , _ S t r i n g i n
ByRef s e a r c h As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByRef AnswersetName As String , _ S t r i n g i n
ByVal d a t a l e n As I n t e g e r , _ Long o u t
ByVal r e c s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of searches defined on the system
ids_system_searches_count

688

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ c o u n t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systemscount As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.
689

CALLING FROM VISUAL BASIC V6

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ g e t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systems ( ) As String , _ S t r i n g A r r a y o u t
ByRef systems_num As I n t e g e r , _
ByRef s y s t e m s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

690

Calling from Visual Basic with an ActiveX Control


The API functions are available in the ActiveX control ssase.ocx (located in the vb directory of the
Client and Developer Components installation). This control has two properties, RemoteHost and
RemotePort, and has the API functions as methods.
The ActiveX control does not need the sockh parameter.

Parameters:
hostname is the name or IP address of the computer where the MDM-RE Server is running
port the port number of the MDM-RE Server for which a socket connection is to be established
sockh is the socket handle returned by the call

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Use this API to close the socket connection to the Server.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success
To make use of the samples, you may need to remove and re-add the ActiveX control ssactrl to
sample1form.frm and sample2form.frm.

Constants
Constants are declared as member properties, in uppercase using underscores, eg. ssa.MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.
691

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success
ids_addr_get_cass_field

692

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Public Function i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef d e l _ c a s e As I n t e g e r , _ Long i n
ByVal d e l _ l i n e 1 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 1 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 2 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 2 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 3 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 3 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 4 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 4 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 5 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 5 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 6 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 6 _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
693

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r , _
ByVal f i e l d _ v a l _ s t a t u s As I n t e g e r , _ Long o u t
ByVal f i e l d _ v a l _ m o d s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success
ids_addr_get_field

694

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ c o u n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output
695

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i d x ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en gt h _n u m As I n t e g e r , _
ByVal addr_label_encoded ( ) As Byte , _ B l o c k o u t
ByRef a d d r _ l a b e l _ e n c o d e d _ s i z e As I n t e g e r , _
ids_addr_get_field_idx

696

ByVal a d d r _ l a b e l _ c h a r s e t As String , _ S t r i n g o u t
ByRef a d d r _ l a b e l _ c h a r s e t _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.
697

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ l i n e _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ g e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.
ids_addr_get_option

698

Prototype:
Public Function i d s _ a d d r _ i n f o ( _
ByRef c o n t r o l s As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Public Function i d s _ a d d r _ i n i t ( _
ByRef max_memory As I n t e g e r
) As I n t e g e r

_ Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx
699

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ p a r s e ( _
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
Public Function i d s _ a d d r _ p r e l o a d _ c o u n t r y ( _
ByRef p r e l o a d _ t y p e As String , _ S t r i n g i n
ByRef p r e l o a d _ c o u n t r y As String , _ S t r i n g i n
ByRef val_mode As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.
ids_addr_preload_country

700

Prototype:
Public Function i d s _ a d d r _ s e t _ a t t r i b ( _
ByRef c h a r _ s e t As String , _ S t r i n g i n
ByRef d e f a u l t _ c o u n t r y As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Public Function i d s _ a d d r _ s e t _ d e l _ l i n e s ( _
ByRef d e l _ l i n e 1 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 2 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 3 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 4 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 5 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 6 ( ) As Byte _ B l o c k
) As I n t e g e r

in
in
in
in
in
in

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success
701

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ c a s e ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ c a s e As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ e x t ( _
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value
ids_addr_set_field_case

702

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ i d x ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ n a m e ( _
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success
703

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ l i n e s ( _
ByRef l i n e _ 1 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 2 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 3 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 4 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 5 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 6 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 7 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 8 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 9 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 1 0 ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.
ids_addr_set_lines

704

Prototype:
Public Function i d s _ a d d r _ s e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByRef value As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
Public Function i d s _ a d d r _ s t d ( _
ByVal firm_name As String , _ S t r i n g i o
ByRef firm_name_size As I n t e g e r , _
ByVal u r b a n i z a t i o n As String , _ S t r i n g i o
ByRef u r b a n i z a t i o n _ s i z e As I n t e g e r , _
ByVal address_one As String , _ S t r i n g i o
ByRef a d d r e s s _ o n e _ s i z e As I n t e g e r , _
ByVal address_two As String , _ S t r i n g i o
ByRef a d d r e s s _ t w o _ s i z e As I n t e g e r , _
ByVal l a s t _ l i n e As String , _ S t r i n g i o
ByRef l a s t _ l i n e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).
705

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
Public Function i d s _ a d d r _ v a l i d a t e ( _
ByVal s t a t u s As I n t e g e r , _ Long o u t
ByVal n_suggest As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef h o s t As String , _ S t r i n g i n
ByRef p o r t As I n t e g e r , _ Long i n
ByVal sockh As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.
ids_addr_validate

706

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r _ g e t ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.
707

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r s _ g e t _ a l l ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console

Prototype:
Public Function i d s _ i d e n t i f y ( _
ByRef i d e n t i f i c a t i o n As S t r i n g
) As I n t e g e r

_ String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform
ids_errors_get_all

708

Prototype:
Public Function i d s _ i s _ l i t t l e _ e n d i a n ( _
ByVal e n d i a n _ s t a t e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef s e a r c h r e c ( ) As Byte , _ B l o c k i n
ByRef f i l e r e c ( ) As Byte , _ B l o c k i n
ByVal i n f o _ a r r a y ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef info_array_num As I n t e g e r , _
ByRef i n f o _ a r r a y _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success
709

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n _ c o u n t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Public Function i d s _ p i d _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster
ids_match_explain_count

710

Prototype:
Public Function ids_pid_member_count ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
Public Function ids_pid_member_get ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal r e c o r d ( ) As Byte , _ B l o c k o u t
ByRef r e c o r d _ s i z e As I n t e g e r , _
ByVal r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".
711

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Public Function ids_pid_open ( _
ByRef m u l t i _ s e a r c h As S t r i n g
) As I n t e g e r

_ String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.
ids_pid_open

712

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l e _ r e c i d As I n t e g e r , _ Long i n
ByVal p r e f i x s ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef prefixs_num As I n t e g e r , _
ByRef p r e f i x s _ s i z e As I n t e g e r , _
ByVal cluster_nums ( ) As I n t e g e r , _ LongArray o u t
ByRef cluster_nums_num As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ g e t ( _
ByVal s r c _ p k _ v a l u e ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef src_pk_value_num As I n t e g e r , _
ByRef s r c _ p k _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
src_pk_value the values of primary keys from the source table
713

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ s t a r t ( _
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef src_pk ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ l i s t ( _
ByVal gross_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef gross_names_num As I n t e g e r , _
ByRef gross_names_size As I n t e g e r , _
ByVal fine_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef fine_names_num As I n t e g e r , _
ByRef f i n e _ n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names
ids_pid_src_pk_start

714

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
ByRef type As String , _ S t r i n g i n
ByVal elements As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
ByRef type As String , _ S t r i n g i n
ByVal l e n g t h As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success
715

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Public Function i d s _ p s _ p a r s e ( _
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef input ( ) As Byte , _ B l o c k i n
ByVal g r o s s ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef gross_num As I n t e g e r , _
ByRef g r o s s _ s i z e As I n t e g e r , _
ByVal f i n e ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef fine_num As I n t e g e r , _
ByRef f i n e _ s i z e As I n t e g e r , _
ByVal standard ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef standard_num As I n t e g e r , _
ByRef s t a n d a r d _ s i z e As I n t e g e r , _
ByVal ps_format ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef ps_format_num As I n t e g e r , _
ByRef p s _ f o r m a t _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
Public Function i d s _ p s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r
ids_ps_parse

716

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Public Function i d s _ p s _ s e t _ e n t i t y _ l i s t ( _
ByRef type As String , _ S t r i n g i n
ByRef e n t i t y _ l i s t ( ) As S t r i n g _ S t r i n g A r r a y i n
) As I n t e g e r

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
Public Function i d s _ p s _ s e t _ p o p u l a t i o n ( _
ByRef system As String , _ S t r i n g i n
ByRef p o p u l a t i o n As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
system System Name
population Specifies a Population within the System
717

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByRef b l o c k As I n t e g e r , _ Long i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ids_real_time_async_get

718

ByRef
ByRef
ByRef
ByRef
ByRef
ByRef
ByVal
ByRef
) As I n t e g e r

sequence_number As String , _ S t r i n g i n
o p e r a t i o n As String , _ S t r i n g i n
c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
s o u r c e As I n t e g e r , _ Long i n
m u l t i _ s e a r c h As String , _ S t r i n g i n
i n p u t _ i d As I n t e g e r , _ Long i n
r e f e r e n c e As String , _ S t r i n g o u t
r e f e r e n c e _ s i z e As I n t e g e r _

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.
719

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

This call must be followed by

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ a d d ( _
ByRef r u l e _ t y p e As String , _ S t r i n g i n
ByRef s u b j e c t _ r e c _ p k ( ) As Byte , _ B l o c k i n
ByRef r e l a t i o n s h i p As String , _ S t r i n g i n
ByRef r e l a t e d _ r e c _ p k ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.
ids_real_time_flul_close

720

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ d e l e t e ( _
ByRef r u l e _ t y p e _ o p t i o n As I n t e g e r , _ Long i n
ByRef record_pk ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
ByRef i d t _ r e c ( ) As Byte , _ B l o c k i n
ByRef o p t i o n As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.
721

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Should be called after

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e ( _
ByVal i d t _ r e c ( ) As Byte , _ B l o c k o u t
ByRef i d t _ r e c _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ i n i t ( _
ByRef idt_name As String , _ S t r i n g i n
ByRef m u l t i _ s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.
ids_real_time_flul_init

722

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByVal c l u s t e r _ a c t i o n _ t y p e As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ t y p e _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ i d As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ i d _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ n u m b e r As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ a c t i o n _ n e w As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ n e w _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r , _ Long o u t
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
723

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

system The name of the system in the rulebase


IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.
ids_scores_get

724

Prototype:
Public Function i d s _ s c o r e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s c o r e s ( ) As I n t e g e r , _ LongArray o u t
ByRef scores_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
Public Function ids_search_comment_get ( _
ByRef searchname As String , _ S t r i n g i n
ByVal comment As String , _ S t r i n g o u t
ByRef comment_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.
725

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s e a r c h _ d e d u p e _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef f l a g s As I n t e g e r , _ Long i n
ByVal r e c i d As I n t e g e r , _ Long i o
ByVal r e c s As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.
ids_search_fields_count

726

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f c As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f i e l d n a m e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef fieldnames_num As I n t e g e r , _
ByRef f i e l d n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters
727

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s e a r c h _ f i l t e r ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l t e r As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Public Function i d s _ s e a r c h _ f i n i s h ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
ids_search_finish

728

Public Function i d s _ s e a r c h _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal s r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef sreps_num As I n t e g e r , _
ByVal f r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef freps_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups
freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ c o m p l e t e ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
729

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ByRef
ByVal
ByVal
ByRef
) As I n t e g e r

s e a r c h r e t u r n _ s i z e As I n t e g e r , _
s c o r e As I n t e g e r , _ Long o u t
i n f o ( ) As Byte , _ B l o c k o u t
i n f o _ s i z e As I n t e g e r _

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ d e t a i l ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
ids_search_get_detail

730

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Public Function i d s _ s e a r c h _ I D T _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal IDT As String , _ S t r i n g o u t
ByRef IDT_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
Public Function i d s _ s e a r c h _ l a y o u t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef func As String , _ S t r i n g i n
ByVal names ( ) As String , _ S t r i n g A r r a y o u t
ByRef names_num As I n t e g e r , _
ByRef names_size As I n t e g e r , _
ByVal l e n g t h s ( ) As I n t e g e r , _ LongArray o u t
ByRef lengths_num As I n t e g e r , _
ByVal o f f s e t s ( ) As I n t e g e r , _ LongArray o u t
ByRef offsets_num As I n t e g e r , _
ByVal r e p e a t s ( ) As I n t e g e r , _ LongArray o u t
ByRef repeats_num As I n t e g e r , _
ByVal formats ( ) As String , _ S t r i n g A r r a y o u t
731

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ByRef formats_num As I n t e g e r , _
ByRef f o r m a t s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
ids_search_start

732

Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Public Function i d s _ s e a r c h _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByVal r e c s As I n t e g e r , _ Long o u t
ByRef r e c o r d s ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT
733

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal t o l e r a n c e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef tolerances_num As I n t e g e r , _
ByRef t o l e r a n c e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success
ids_search_tolerances_count

734

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByVal viewName As String , _ S t r i n g o u t
ByRef viewName_size As I n t e g e r , _
ByVal viewFieldCount As I n t e g e r , _ Long o u t
ByVal viewRecLen As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ s e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef viewName As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use
735

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal widths ( ) As String , _ S t r i n g A r r a y o u t
ByRef widths_num As I n t e g e r , _
ByRef w i d t h s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.
ids_search_widths_count

736

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
Public Function i d s _ s e r v e r _ v e r s i o n _ g e t ( _
ByVal s e r v e r _ v e r s i o n As String , _ S t r i n g o u t
ByRef s e r v e r _ v e r s i o n _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
Public Function i d s _ s e s s i o n _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success
737

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Public Function i d s _ s e s s i o n _ o p e n ( _
ByVal s e s s i o n As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
Public Function i d s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success
ids_session_open

738

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Public Function i d s _ s e t _ v p d _ u s e r ( _
ByRef vpd_user As String , _ S t r i n g i n
ByRef vpd_ctx As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Prototype:
Public Function i d s _ s y s t e m _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).
739

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function ids_system_idtname_count ( _
ByVal i d t c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_get ( _
ByVal idtnames ( ) As String , _ S t r i n g A r r a y o u t
ByRef idtnames_num As I n t e g e r , _
ByRef i d t n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
Public Function i d s _ s y s t e m _ n o t i f y ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef sysname As String , _ S t r i n g i n
ByRef message As S t r i n g _ S t r i n g i n
) As I n t e g e r
ids_system_idtname_get

740

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
Public Function ids_system_open ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef Options As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.
741

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r , _
ByVal p i d _ p r e f i x ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef pid_prefix_num As I n t e g e r , _
ByRef p i d _ p r e f i x _ s i z e As I n t e g e r , _
ByVal pid_opts ( ) As I n t e g e r , _ LongArray o u t
ByRef pid_opts_num As I n t e g e r , _
ByVal p r e f _ r e c _ o p t s ( ) As I n t e g e r , _ LongArray o u t
ByRef pref_rec_opts_num As I n t e g e r _
) As I n t e g e r

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success
ids_system_pid_searches_get

742

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ f i n i s h ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef o p t i o n s As String , _ S t r i n g i n
ByRef s e a r c h As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByRef AnswersetName As String , _ S t r i n g i n
ByVal d a t a l e n As I n t e g e r , _ Long o u t
ByVal r e c s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
743

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r _
) As I n t e g e r
ids_system_searches_count

744

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ c o u n t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systemscount As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ g e t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systems ( ) As String , _ S t r i n g A r r a y o u t
ByRef systems_num As I n t e g e r , _
ByRef s y s t e m s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).
745

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_systems_get

746

Calling from Visual Basic .NET


For Visual Basic .NET the API functions are made available in the shareable assembly ssasecs.dll.
This contains the classes ids, which contains the API, and SSAException, which is based on
ApplicationException. The ids methods return an exception of class SSAException that must
be caught. If the bool method SSAException.isFatal() returns true the error resulted in the
communication channel being closed and no further calls can be made without reconnecting.
Visual Basic .NET does not require the sockh parameter for any of these functions.

Constants
Constants are public member constants of the ids class, in uppercase using underscores, eg.
ids.MSG_SIZE.

Installation - Win32 client


The shareable assembly can be installed in the global assembly cache with Microsofts gacutil utility:
gacutil /i %SSABIN%\ssasecs.dll

You can then create applications that use it with:


vbc /reference:%SSABIN%\ssasecs.dll myprog.vb

Alternatively, you can use ssasecs.dll in a Visual Studios.NET IDE project/solution.


To add a reference to the ssasecs.dll:
Right-click on the project/solution name in the "Solution Explorer" pane of the IDE. Select "Add
Reference...".


Make sure that the ".NET" tab is the active tab. Use the "Browse" button to find ssasecs.dll.

Highlight the dll in the Explorer window (contrary to expectations, nothing you do will add the name of
the dll to the "File Name:" textbox, so dont worry if its not there) and click "Open".


 This adds the ssasecs.dll to the Selected Components pane of the Add Reference dialog. Click
"OK".

To add the "ssa" namespace to the project/solution:


Right-Click on the project/solution name in the "Solution Explorer" pane of the IDE. Select "Properties".


Click on "Imports" under the "Common Properties" folder.

In the "Namespace:" textbox type ssa and click "Add Import".

Click OK to exit.

The second step eliminates the need to have the following in any module:
Imports ssa

Otherwise, you can skip this step and add the Imports statement as above.
747

CALLING FROM VISUAL BASIC .NET

Constructor
Description:
Used to create a ssa.ids object. This object is then used to make the required API calls to the Search
or Connection Server.

Prototype:
Imports s s a ;
Public Class i d s
Dim hostname As S t r i n g
Dim p o r t As I n t e g e r
End Class

Parameters:
hostname is the name or IP address of the computer where the MDM-RE Server is running
port the port number of the MDM-RE Server for which a socket connection is to be established

addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Imports s s a
Public Function a d d r _ g e t _ c a s s _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r _ Long i n
) As Byte ( )

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success
Constructor

748

addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ c a s s _ f i e l d _ c n t ( ) As I n t e g e r

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
ByRef s u g g e s t _ i d x As I n t e g e r _ Long i n
) As I n t e g e r ( )

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success
749

CALLING FROM VISUAL BASIC .NET

addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Imports s s a
Public Function a d d r _ g e t _ d e l _ l i n e s _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef d e l _ c a s e As I n t e g e r _ Long i n
) As a d d r _ g e t _ d e l _ l i n e s _ e x t _ s t r u c t

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Prototype:
addr_get_del_lines_ext

750

Imports s s a
Public Function a d d r _ g e t _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r _ Long i n
) As a d d r _ g e t _ f i e l d _ s t r u c t

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ f i e l d _ c o u n t ( ) As I n t e g e r

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

addr_get_field_ext
Description:
Use this function to retrieve all getter fields
751

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Function a d d r _ g e t _ f i e l d _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As S t r i n g _ S t r i n g i n
) As Byte ( )

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Imports s s a
Public Function a d d r _ g e t _ f i e l d _ i d x ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r _ Long i n
) As Byte ( )

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value
addr_get_field_idx

752

Return Code:
negative for error, 0 for success

addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Imports s s a
Public Function a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r _ Long i n
) As a d d r _ g e t _ f i e l d _ i n f o _ e x t _ s t r u c t

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ f i e l d _ l e n ( ) As I n t e g e r

Parameters:
max_len Returns the max address field length in bytes
753

CALLING FROM VISUAL BASIC .NET

Return Code:
negative for error, 0 for success

addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ l i n e _ l e n ( ) As I n t e g e r

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Imports s s a
Public Function a d d r _ g e t _ o p t i o n ( _
ByRef param As S t r i n g _ S t r i n g i n
) As S t r i n g

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success
addr_get_line_len

754

addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
Imports s s a
Public Function a d d r _ i n f o ( _
ByRef c o n t r o l s As S t r i n g
) As S t r i n g

_ String in

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Imports s s a
Public Sub a d d r _ i n i t ( _
ByRef max_memory As I n t e g e r
)

_ Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success
755

CALLING FROM VISUAL BASIC .NET

addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
Imports s s a
Public Function addr_parse ( ) As I n t e g e r ( )

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

addr_preload_country
Description:
Use this function to preload country database

Prototype:
Imports s s a
Public Sub addr_preload_country ( _
ByRef p r e l o a d _ t y p e As String , _ S t r i n g i n
ByRef p r e l o a d _ c o u n t r y As String , _ S t r i n g i n
ByRef val_mode As S t r i n g _ S t r i n g i n
)

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success
addr_parse

756

addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ a t t r i b ( _
ByRef c h a r _ s e t As String , _ S t r i n g i n
ByRef d e f a u l t _ c o u n t r y As S t r i n g _ S t r i n g i n
)

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ d e l _ l i n e s ( _
ByRef d e l _ l i n e 1 ( ) As Byte ,
ByRef d e l _ l i n e 2 ( ) As Byte ,
ByRef d e l _ l i n e 3 ( ) As Byte ,
ByRef d e l _ l i n e 4 ( ) As Byte ,
ByRef d e l _ l i n e 5 ( ) As Byte ,
ByRef d e l _ l i n e 6 ( ) As Byte
)

_
_
_
_
_
_

Block
Block
Block
Block
Block
Block

Parameters:
del_line1 delivery address line 1 input string
757

CALLING FROM VISUAL BASIC .NET

in
in
in
in
in
in

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ f i e l d _ c a s e ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ c a s e As I n t e g e r _ Long i n
)

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

addr_set_field_ext
Description:
Use this function to set fields
addr_set_field_case

758

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ f i e l d _ e x t ( _
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
)

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ f i e l d _ i d x ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
)

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success
759

CALLING FROM VISUAL BASIC .NET

addr_set_field_name
Description:
Use this function to set individual input fields by name

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ f i e l d _ n a m e ( _
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
)

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ l i n e s ( _
ByRef l i n e _ 1 ( ) As Byte ,
ByRef l i n e _ 2 ( ) As Byte ,
ByRef l i n e _ 3 ( ) As Byte ,
ByRef l i n e _ 4 ( ) As Byte ,
ByRef l i n e _ 5 ( ) As Byte ,
ByRef l i n e _ 6 ( ) As Byte ,
ByRef l i n e _ 7 ( ) As Byte ,
ByRef l i n e _ 8 ( ) As Byte ,
ByRef l i n e _ 9 ( ) As Byte ,
ByRef l i n e _ 1 0 ( ) As Byte
)

_ Block in
_ Block in
_ Block in
_ Block in
_ Block in
_ Block in
_ Block in
_ Block in
_ Block in
_ Block in

Parameters:
line_1 The first line of the address
addr_set_field_name

760

line_2 The second line of the address


line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success

addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Imports s s a
Public Sub a d d r _ s e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByRef value As S t r i n g _ S t r i n g i n
)

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.
761

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Sub addr_std ( _
ByVal firm_name As String , _ S t r i n g i o
ByRef firm_name_size As I n t e g e r , _
ByVal u r b a n i z a t i o n As String , _ S t r i n g i o
ByRef u r b a n i z a t i o n _ s i z e As I n t e g e r , _
ByVal address_one As String , _ S t r i n g i o
ByRef a d d r e s s _ o n e _ s i z e As I n t e g e r , _
ByVal address_two As String , _ S t r i n g i o
ByRef a d d r e s s _ t w o _ s i z e As I n t e g e r , _
ByVal l a s t _ l i n e As String , _ S t r i n g i o
ByRef l a s t _ l i n e _ s i z e As I n t e g e r _
)

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

addr_validate
Description:
Use this function to validate an address

Prototype:
Imports s s a
Public Function a d d r _ v a l i d a t e ( ) As a d d r _ v a l i d a t e _ s t r u c t
addr_validate

762

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Imports s s a
Public Sub d i s c o n n e c t ( )

Parameters:
none

Return Code:
negative for error, 0 for success

error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Prototype:
Imports s s a
Public Function e r r o r _ g e t ( ) As S t r i n g

Parameters:
msg is the error message returned
763

CALLING FROM VISUAL BASIC .NET

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Imports s s a
Public Function e r r o r s _ g e t _ a l l ( ) As S t r i n g

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

identify
Description:
Identify a session to the console

Prototype:
Imports s s a
Public Sub i d e n t i f y ( _
ByRef i d e n t i f i c a t i o n As S t r i n g
)

_ String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success
errors_get_all

764

is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
Imports s s a
Public Function i s _ l i t t l e _ e n d i a n ( ) As I n t e g e r

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
Imports s s a
Public Function match_explain ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef s e a r c h r e c ( ) As Byte , _ B l o c k i n
ByRef f i l e r e c ( ) As Byte _ B l o c k i n
) As Byte ( ) ( )

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details
765

CALLING FROM VISUAL BASIC .NET

Return Code:
negative for error, 0 for success

match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Imports s s a
Public Function match_explain_count ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Imports s s a
Public Sub p i d _ c l o s e ( )

Parameters:
none

Return Code:
negative for error, 0 for success
match_explain_count

766

pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
Imports s s a
Public Function pid_member_count ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Prototype:
Imports s s a
Public Function pid_member_get ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r _ Long i n
) As pid_member_get_struct

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)
767

CALLING FROM VISUAL BASIC .NET

Return Code:
negative for error, 0 for success, and 1 for "end of set".

pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Imports s s a
Public Sub pid_open ( _
ByRef m u l t i _ s e a r c h As S t r i n g
)

_ String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.

Prototype:
Imports s s a
Public Function p i d _ s e a r c h _ g e t ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As p i d _ s e a r c h _ g e t _ s t r u c t

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
pid_open

768

score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Imports s s a
Public Function p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l e _ r e c i d As I n t e g e r _ Long i n
) As p i d _ s e a r c h _ g e t _ c l u s t e r s _ s t r u c t

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster

Return Code:
negative for error, 0 for success

pid_src_pk_get
Description:
Get persistent ids one at a time
769

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Function p i d _ s r c _ p k _ g e t ( ) As Byte ( ) ( )

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Imports s s a
Public Sub p i d _ s r c _ p k _ s t a r t ( _
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef src_pk ( ) ( ) As Byte _ B l o c k A r r a y i n
)

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Imports s s a
Public Function p s _ g e t _ e n t i t y _ l i s t ( ) As p s _ g e t _ e n t i t y _ l i s t _ s t r u c t
pid_src_pk_start

770

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Imports s s a
Public Function p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
ByRef type As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Imports s s a
Public Function p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
ByRef type As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value
771

CALLING FROM VISUAL BASIC .NET

Return Code:
negative for error, 0 for success

ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Imports s s a
Public Function ps_parse ( _
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef input ( ) As Byte , _ B l o c k i n
ByVal g r o s s ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef gross_num As I n t e g e r , _
ByRef g r o s s _ s i z e As I n t e g e r , _
ByVal f i n e ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef fine_num As I n t e g e r , _
ByRef f i n e _ s i z e As I n t e g e r , _
ByVal standard ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef standard_num As I n t e g e r , _
ByRef s t a n d a r d _ s i z e As I n t e g e r _
) As Byte ( ) ( )

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ps_set_encoding
Description:
Defines encoding used for the input/output data
ps_parse

772

Prototype:
Imports s s a
Public Sub p s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r
)

_ Long i n

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Imports s s a
Public Sub p s _ s e t _ e n t i t y _ l i s t ( _
ByRef type As String , _ S t r i n g i n
ByRef e n t i t y _ l i s t ( ) As S t r i n g _ S t r i n g A r r a y i n
)

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ps_set_population
Description:
Defines the System and Population used for parsing rules
773

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Sub p s _ s e t _ p o p u l a t i o n ( _
ByRef system As String , _ S t r i n g i n
ByRef p o p u l a t i o n As S t r i n g _ S t r i n g i n
)

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Imports s s a
Public Function r e a l _ t i m e _ a s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByRef b l o c k As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet
real_time_async_get

774

real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Imports s s a
Public Function r e a l _ t i m e _ a s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByRef s o u r c e As I n t e g e r , _ Long i n
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef i n p u t _ i d As I n t e g e r _ Long i n
) As S t r i n g

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
775

CALLING FROM VISUAL BASIC .NET

This must be passed to the

10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.


11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
Imports s s a
Public Sub r e a l _ t i m e _ f l u l _ a d d ( _
ByRef r u l e _ t y p e As String , _ S t r i n g i n
ByRef s u b j e c t _ r e c _ p k ( ) As Byte , _ B l o c k i n
ByRef r e l a t i o n s h i p As String , _ S t r i n g i n
ByRef r e l a t e d _ r e c _ p k ( ) As Byte _ B l o c k i n
)

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

real_time_flul_close
Description:
This API used to close and release force link and unlink module.
real_time_flul_add

776

Prototype:
Imports s s a
Public Sub r e a l _ t i m e _ f l u l _ c l o s e ( )

Parameters:
none

Return Code:
negative for error, 0 for success

real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
Imports s s a
Public Sub r e a l _ t i m e _ f l u l _ d e l e t e ( _
ByRef r u l e _ t y p e _ o p t i o n As I n t e g e r , _ Long i n
ByRef record_pk ( ) As Byte _ B l o c k i n
)

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
777

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Sub r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
ByRef i d t _ r e c ( ) As Byte , _ B l o c k i n
ByRef o p t i o n As I n t e g e r _ Long i n
)

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
Imports s s a
Public Function r e a l _ t i m e _ f l u l _ g e t _ r u l e ( ) As Byte ( )

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
real_time_flul_get_rule

778

Prototype:
Imports s s a
Public Sub r e a l _ t i m e _ f l u l _ i n i t ( _
ByRef idt_name As String , _ S t r i n g i n
ByRef m u l t i _ s e a r c h As S t r i n g _ S t r i n g i n
)

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
Imports s s a
Public Function r e a l _ t i m e _ s y n c _ g e t ( _
ByRef r e f e r e n c e As S t r i n g _ S t r i n g i n
) As r e a l _ t i m e _ s y n c _ g e t _ s t r u c t

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results
779

CALLING FROM VISUAL BASIC .NET

real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Imports s s a
Public Function r e a l _ t i m e _ s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte _ B l o c k i n
) As r e a l _ t i m e _ s y n c _ s t a r t _ s t r u c t

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
real_time_sync_start

780

13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
Imports s s a
Public Function s c o r e s _ g e t ( _
ByRef searchname As S t r i n g
) As I n t e g e r ( )

_ String in

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
781

CALLING FROM VISUAL BASIC .NET

Imports s s a
Public Function search_comment_get ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As S t r i n g

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
Imports s s a
Public Sub s e a r c h _ d e d u p e _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef f l a g s As I n t e g e r , _ Long i n
ByVal r e c i d As I n t e g e r , _ Long i o
ByVal r e c s As I n t e g e r _ Long i o
)

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
search_dedupe_start

782

flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Imports s s a
Public Function s e a r c h _ f i e l d s _ c o u n t ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Imports s s a
Public Function s e a r c h _ f i e l d s _ g e t ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As S t r i n g ( )
783

CALLING FROM VISUAL BASIC .NET

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
Imports s s a
Public Sub s e a r c h _ f i l t e r ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l t e r As S t r i n g _ S t r i n g i n
)

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Imports s s a
Public Sub s e a r c h _ f i n i s h ( _
ByRef s e a r c h As S t r i n g
)

_ String in

Parameters:
search is the name of the search that was performed
search_filter

784

Return Code:
negative for error, 0 for success

search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
Imports s s a
Public Function s e a r c h _ g e t ( _
ByRef searchname As S t r i n g
) As s e a r c h _ g e t _ s t r u c t

_ String in

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_complete
785

CALLING FROM VISUAL BASIC .NET

Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Imports s s a
Public Function s e a r c h _ g e t _ c o m p l e t e ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As s e a r c h _ g e t _ c o m p l e t e _ s t r u c t

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
Imports s s a
Public Function s e a r c h _ g e t _ d e t a i l ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As s e a r c h _ g e t _ d e t a i l _ s t r u c t
search_get_detail

786

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Imports s s a
Public Function search_IDT_get ( _
ByRef searchname As S t r i n g
) As S t r i n g

_ String in

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success

search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.
787

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Function s e a r c h _ l a y o u t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef func As S t r i n g _ S t r i n g i n
) As s e a r c h _ l a y o u t _ s t r u c t

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success
search_layout

788

search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Imports s s a
Public Function s e a r c h _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef r e c o r d s ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
789

CALLING FROM VISUAL BASIC .NET

recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Imports s s a
Public Function s e a r c h _ t o l e r a n c e s _ c o u n t ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
search_tolerances_count

790

Imports s s a
Public Function s e a r c h _ t o l e r a n c e s _ g e t ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As S t r i n g ( )

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Imports s s a
Public Function s e a r c h _ v i e w _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As S t r i n g _ S t r i n g i n
) As s e a r c h _ v i e w _ g e t _ s t r u c t

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success
791

CALLING FROM VISUAL BASIC .NET

search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Imports s s a
Public Sub s e a r c h _ v i e w _ s e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef viewName As S t r i n g _ S t r i n g i n
)

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Imports s s a
Public Function se arc h_w id ths _co unt ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
search_view_set

792

search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Imports s s a
Public Function s e a r c h _ w i d t h s _ g e t ( _
ByRef searchname As S t r i n g _ S t r i n g i n
) As S t r i n g ( )

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

server_version_get
Description:
Get the version information associated with the server.

Prototype:
Imports s s a
Public Function s e r v e r _ v e r s i o n _ g e t ( ) As S t r i n g

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success

session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.
793

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Sub s e s s i o n _ c l o s e ( )

Parameters:
none

Return Code:
negative for error, 0 for success

session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Imports s s a
Public Sub s e s s i o n _ o p e n ( _
ByVal s e s s i o n As I n t e g e r
)

_ Long i o

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.
session_open

794

Prototype:
Imports s s a
Public Sub s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r
)

_ Long i n

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Imports s s a
Public Sub set_vpd_user ( _
ByRef vpd_user As String , _ S t r i n g i n
ByRef vpd_ctx As S t r i n g _ S t r i n g i n
)

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

system_close
Description:
closes the system and frees any remaining resources.
795

CALLING FROM VISUAL BASIC .NET

Prototype:
Imports s s a
Public Sub s y s t e m _ c l o s e ( )

Parameters:
none

Return Code:
negative for error, 0 for success

system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
Imports s s a
Public Function system_idtname_count ( ) As I n t e g e r

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Imports s s a
Public Function system_idtname_get ( ) As S t r i n g ( )

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).
system_idtname_count

796

Return Code:
negative for error, 0 for success

system_notify
Description:
Notifies search server on a system.

Prototype:
Imports s s a
Public Sub s y s t e m _ n o t i f y ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef sysname As String , _ S t r i n g i n
ByRef message As S t r i n g _ S t r i n g i n
)

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

system_open
Description:
opens a system.

Prototype:
Imports s s a
Public Sub system_open ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef Options As S t r i n g _ S t r i n g i n
)

Parameters:
rulebase is the name of the rulebase.
797

CALLING FROM VISUAL BASIC .NET

system The name of the system in the rulebase


verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
Imports s s a
Public Function s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( ) As I n t e g e r

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Imports s s a
Public Function s y s t e m _ p i d _ s e a r c h e s _ g e t ( ) As s y s t e m _ p i d _ s e a r c h e s _ g e t _ s t r u c t
system_pid_searches_count

798

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Imports s s a
Public Sub s y s t e m _ s e a r c h _ f i n i s h ( )

Parameters:
none

Return Code:
negative for error, 0 for success

system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Prototype:
799

CALLING FROM VISUAL BASIC .NET

Imports s s a
Public Function s y s t e m _ s e a r c h _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef o p t i o n s As String , _ S t r i n g i n
ByRef s e a r c h As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByRef AnswersetName As S t r i n g _ S t r i n g i n
) As s y s t e m _ s e a r c h _ s t a r t _ s t r u c t

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Imports s s a
Public Function s y s t e m _ s e a r c h e s _ c o u n t ( ) As I n t e g e r

Parameters:
searchcount is the number of searches defined on the system
system_searches_count

800

Return Code:
negative for error, 0 for success

system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Imports s s a
Public Function s y s t e m _ s e a r c h e s _ g e t ( ) As S t r i n g ( )

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

systems_count
Description:
the number of systems in the rulebase.

Prototype:
Imports s s a
Public Function systems_count ( _
ByRef r u l e b a s e As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success
801

CALLING FROM VISUAL BASIC .NET

systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Imports s s a
Public Function s y s t e m s _ g e t ( _
ByRef r u l e b a s e As S t r i n g
) As S t r i n g ( )

_ String in

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

systems_get

802

Calling from Visual Basic with an ActiveX Control


The API functions are available in the ActiveX control ssase.ocx (located in the vb directory of the
Client and Developer Components installation). This control has two properties, RemoteHost and
RemotePort, and has the API functions as methods.
The ActiveX control does not need the sockh parameter.
To make use of the samples, you may need to remove and re-add the ActiveX control ssactrl to
sample1form.frm and sample2form.frm.

Constants
Constants are declared as member properties, in uppercase using underscores, eg. ssa.MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_connect
Description:
This opens a socket (communication channel) to the Server using TCP/IP. The server can either be the
Search Server or Connection Server. The call returns a socket handle that must be used on subsequent
API calls to communicate over the same channel.

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef hostname As String , _
ByRef p o r t
As I n t e g e r , _
ByVal sockh
As I n t e g e r _
) As I n t e g e r

String in
long in
long out

Parameters:
hostname is the name or IP address of the computer where the MDM-RE Server is running
port the port number of the MDM-RE Server for which a socket connection is to be established
sockh is the socket handle returned by the call

Return Code:
negative for error, 0 for success
803

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_disconnect
Description:
Use this API to close the socket connection to the Server.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success
ids_disconnect

804

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success
805

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Public Function i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef d e l _ c a s e As I n t e g e r , _ Long i n
ByVal d e l _ l i n e 1 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 1 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 2 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 2 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 3 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 3 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 4 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 4 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 5 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 5 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 6 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 6 _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.
ids_addr_get_del_lines_ext

806

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r , _
ByVal f i e l d _ v a l _ s t a t u s As I n t e g e r , _ Long o u t
ByVal f i e l d _ v a l _ m o d s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ c o u n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields
807

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i d x ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value
ids_addr_get_field_idx

808

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r , _
ByVal addr_label_encoded ( ) As Byte , _ B l o c k o u t
ByRef a d d r _ l a b e l _ e n c o d e d _ s i z e As I n t e g e r , _
ByVal a d d r _ l a b e l _ c h a r s e t As String , _ S t r i n g o u t
ByRef a d d r _ l a b e l _ c h a r s e t _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.
809

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ l i n e _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ g e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r
ids_addr_get_line_len

810

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
Public Function i d s _ a d d r _ i n f o ( _
ByRef c o n t r o l s As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Public Function i d s _ a d d r _ i n i t ( _
ByRef max_memory As I n t e g e r
) As I n t e g e r

_ Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.
811

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ p a r s e ( _
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
Public Function i d s _ a d d r _ p r e l o a d _ c o u n t r y ( _
ByRef p r e l o a d _ t y p e As String , _ S t r i n g i n
ByRef p r e l o a d _ c o u n t r y As String , _ S t r i n g i n
ByRef val_mode As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used
ids_addr_parse

812

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
Public Function i d s _ a d d r _ s e t _ a t t r i b ( _
ByRef c h a r _ s e t As String , _ S t r i n g i n
ByRef d e f a u l t _ c o u n t r y As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Public Function i d s _ a d d r _ s e t _ d e l _ l i n e s ( _
ByRef d e l _ l i n e 1 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 2 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 3 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 4 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 5 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 6 ( ) As Byte _ B l o c k
) As I n t e g e r

in
in
in
in
in
in

Parameters:
del_line1 delivery address line 1 input string
813

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ c a s e ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ c a s e As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ e x t ( _
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r
ids_addr_set_field_case

814

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ i d x ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name
815

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ n a m e ( _
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ l i n e s ( _
ByRef l i n e _ 1 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 2 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 3 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 4 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 5 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 6 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 7 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 8 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 9 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 1 0 ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address
ids_addr_set_lines

816

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ s e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByRef value As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
Public Function i d s _ a d d r _ s t d ( _
ByVal firm_name As String , _ S t r i n g i o
ByRef firm_name_size As I n t e g e r , _
ByVal u r b a n i z a t i o n As String , _ S t r i n g i o
ByRef u r b a n i z a t i o n _ s i z e As I n t e g e r , _
ByVal address_one As String , _ S t r i n g i o
ByRef a d d r e s s _ o n e _ s i z e As I n t e g e r , _
ByVal address_two As String , _ S t r i n g i o
ByRef a d d r e s s _ t w o _ s i z e As I n t e g e r , _
ByVal l a s t _ l i n e As String , _ S t r i n g i o
ByRef l a s t _ l i n e _ s i z e As I n t e g e r _
) As I n t e g e r
817

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
Public Function i d s _ a d d r _ v a l i d a t e ( _
ByVal s t a t u s As I n t e g e r , _ Long o u t
ByVal n_suggest As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
ids_addr_validate

818

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef h o s t As String , _ S t r i n g i n
ByRef p o r t As I n t e g e r , _ Long i n
ByVal sockh As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

819

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ e r r o r _ g e t ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r s _ g e t _ a l l ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
ids_errors_get_all

820

Prototype:
Public Function i d s _ i d e n t i f y ( _
ByRef i d e n t i f i c a t i o n As S t r i n g
) As I n t e g e r

_ String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
Public Function i d s _ i s _ l i t t l e _ e n d i a n ( _
ByVal e n d i a n _ s t a t e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
821

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Public Function i d s _ m a t c h _ e x p l a i n ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef s e a r c h r e c ( ) As Byte , _ B l o c k i n
ByRef f i l e r e c ( ) As Byte , _ B l o c k i n
ByVal i n f o _ a r r a y ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef info_array_num As I n t e g e r , _
ByRef i n f o _ a r r a y _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n _ c o u n t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
ids_match_explain_count

822

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Public Function i d s _ p i d _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
Public Function ids_pid_member_count ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
823

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function ids_pid_member_get ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal r e c o r d ( ) As Byte , _ B l o c k o u t
ByRef r e c o r d _ s i z e As I n t e g e r , _
ByVal r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Public Function ids_pid_open ( _
ByRef m u l t i _ s e a r c h As S t r i n g
) As I n t e g e r

_ String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.
ids_pid_open

824

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l e _ r e c i d As I n t e g e r , _ Long i n
ByVal p r e f i x s ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef prefixs_num As I n t e g e r , _
ByRef p r e f i x s _ s i z e As I n t e g e r , _
ByVal cluster_nums ( ) As I n t e g e r , _ LongArray o u t
ByRef cluster_nums_num As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster
825

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ g e t ( _
ByVal s r c _ p k _ v a l u e ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef src_pk_value_num As I n t e g e r , _
ByRef s r c _ p k _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ s t a r t ( _
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef src_pk ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success
ids_pid_src_pk_get

826

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ l i s t ( _
ByVal gross_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef gross_names_num As I n t e g e r , _
ByRef gross_names_size As I n t e g e r , _
ByVal fine_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef fine_names_num As I n t e g e r , _
ByRef f i n e _ n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
ByRef type As String , _ S t r i n g i n
ByVal elements As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success
827

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
ByRef type As String , _ S t r i n g i n
ByVal l e n g t h As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Public Function i d s _ p s _ p a r s e ( _
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef input ( ) As Byte , _ B l o c k i n
ByVal g r o s s ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef gross_num As I n t e g e r , _
ByRef g r o s s _ s i z e As I n t e g e r , _
ByVal f i n e ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef fine_num As I n t e g e r , _
ByRef f i n e _ s i z e As I n t e g e r , _
ByVal standard ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef standard_num As I n t e g e r , _
ByRef s t a n d a r d _ s i z e As I n t e g e r , _
ByVal ps_format ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef ps_format_num As I n t e g e r , _
ByRef p s _ f o r m a t _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
ids_ps_get_entity_max_length

828

gross Gross entities used as input or output


fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
Public Function i d s _ p s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Public Function i d s _ p s _ s e t _ e n t i t y _ l i s t ( _
ByRef type As String , _ S t r i n g i n
ByRef e n t i t y _ l i s t ( ) As S t r i n g _ S t r i n g A r r a y i n
) As I n t e g e r

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names
829

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
Public Function i d s _ p s _ s e t _ p o p u l a t i o n ( _
ByRef system As String , _ S t r i n g i n
ByRef p o p u l a t i o n As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByRef b l o c k As I n t e g e r , _ Long i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response
ids_ps_set_population

830

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByRef s o u r c e As I n t e g e r , _ Long i n
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef i n p u t _ i d As I n t e g e r , _ Long i n
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
831

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ a d d ( _
ByRef r u l e _ t y p e As String , _ S t r i n g i n
ByRef s u b j e c t _ r e c _ p k ( ) As Byte , _ B l o c k i n
ByRef r e l a t i o n s h i p As String , _ S t r i n g i n
ByRef r e l a t e d _ r e c _ p k ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

832

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ d e l e t e ( _
ByRef r u l e _ t y p e _ o p t i o n As I n t e g e r , _ Long i n
ByRef record_pk ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
833

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
ByRef i d t _ r e c ( ) As Byte , _ B l o c k i n
ByRef o p t i o n As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e ( _
ByVal i d t _ r e c ( ) As Byte , _ B l o c k o u t
ByRef i d t _ r e c _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

834

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ i n i t ( _
ByRef idt_name As String , _ S t r i n g i n
ByRef m u l t i _ s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByVal c l u s t e r _ a c t i o n _ t y p e As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ t y p e _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ i d As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ i d _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ n u m b e r As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ a c t i o n _ n e w As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ n e w _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results
835

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r , _ Long o u t
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
ids_real_time_sync_start

836

13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
Public Function i d s _ s c o r e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s c o r e s ( ) As I n t e g e r , _ LongArray o u t
ByRef scores_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
837

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Public Function ids_search_comment_get ( _


ByRef searchname As String , _ S t r i n g i n
ByVal comment As String , _ S t r i n g o u t
ByRef comment_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
Public Function i d s _ s e a r c h _ d e d u p e _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef f l a g s As I n t e g e r , _ Long i n
ByVal r e c i d As I n t e g e r , _ Long i o
ByVal r e c s As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
ids_search_dedupe_start

838

flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f c As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f i e l d n a m e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef fieldnames_num As I n t e g e r , _
ByRef f i e l d n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r
839

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
Public Function i d s _ s e a r c h _ f i l t e r ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l t e r As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Public Function i d s _ s e a r c h _ f i n i s h ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the search that was performed
ids_search_filter

840

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
Public Function i d s _ s e a r c h _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal s r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef sreps_num As I n t e g e r , _
ByVal f r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef freps_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".
841

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ c o m p l e t e ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal i n f o ( ) As Byte , _ B l o c k o u t
ByRef i n f o _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
ids_search_get_complete

842

Public Function i d s _ s e a r c h _ g e t _ d e t a i l ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Public Function i d s _ s e a r c h _ I D T _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal IDT As String , _ S t r i n g o u t
ByRef IDT_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success
843

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
Public Function i d s _ s e a r c h _ l a y o u t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef func As String , _ S t r i n g i n
ByVal names ( ) As String , _ S t r i n g A r r a y o u t
ByRef names_num As I n t e g e r , _
ByRef names_size As I n t e g e r , _
ByVal l e n g t h s ( ) As I n t e g e r , _ LongArray o u t
ByRef lengths_num As I n t e g e r , _
ByVal o f f s e t s ( ) As I n t e g e r , _ LongArray o u t
ByRef offsets_num As I n t e g e r , _
ByVal r e p e a t s ( ) As I n t e g e r , _ LongArray o u t
ByRef repeats_num As I n t e g e r , _
ByVal formats ( ) As String , _ S t r i n g A r r a y o u t
ByRef formats_num As I n t e g e r , _
ByRef f o r m a t s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)


ids_search_layout

844

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Public Function i d s _ s e a r c h _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByVal r e c s As I n t e g e r , _ Long o u t
ByRef r e c o r d s ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
845

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
ids_search_tolerances_count

846

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal t o l e r a n c e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef tolerances_num As I n t e g e r , _
ByRef t o l e r a n c e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByVal viewName As String , _ S t r i n g o u t
ByRef viewName_size As I n t e g e r , _
ByVal viewFieldCount As I n t e g e r , _ Long o u t
ByVal viewRecLen As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
847

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

viewFieldCount the number of fields in the view


viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ s e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef viewName As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.
ids_search_view_set

848

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal widths ( ) As String , _ S t r i n g A r r a y o u t
ByRef widths_num As I n t e g e r , _
ByRef w i d t h s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
Public Function i d s _ s e r v e r _ v e r s i o n _ g e t ( _
ByVal s e r v e r _ v e r s i o n As String , _ S t r i n g o u t
ByRef s e r v e r _ v e r s i o n _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success
849

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
Public Function i d s _ s e s s i o n _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Public Function i d s _ s e s s i o n _ o p e n ( _
ByVal s e s s i o n As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
ids_session_close

850

if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
Public Function i d s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Public Function i d s _ s e t _ v p d _ u s e r ( _
ByRef vpd_user As String , _ S t r i n g i n
ByRef vpd_ctx As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.
851

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_count ( _
ByVal i d t c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_get ( _
ByVal idtnames ( ) As String , _ S t r i n g A r r a y o u t
ByRef idtnames_num As I n t e g e r , _
ByRef i d t n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).
ids_system_idtname_count

852

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
Public Function i d s _ s y s t e m _ n o t i f y ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef sysname As String , _ S t r i n g i n
ByRef message As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
Public Function ids_system_open ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef Options As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
853

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r , _
ByVal p i d _ p r e f i x ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef pid_prefix_num As I n t e g e r , _
ids_system_pid_searches_count

854

ByRef
ByVal
ByRef
ByVal
ByRef
) As I n t e g e r

p i d _ p r e f i x _ s i z e As I n t e g e r , _
pid_opts ( ) As I n t e g e r , _ LongArray o u t
pid_opts_num As I n t e g e r , _
p r e f _ r e c _ o p t s ( ) As I n t e g e r , _ LongArray o u t
pref_rec_opts_num As I n t e g e r _

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ f i n i s h ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
855

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef o p t i o n s As String , _ S t r i n g i n
ByRef s e a r c h As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByRef AnswersetName As String , _ S t r i n g i n
ByVal d a t a l e n As I n t e g e r , _ Long o u t
ByVal r e c s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of searches defined on the system
ids_system_searches_count

856

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ c o u n t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systemscount As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.
857

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ g e t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systems ( ) As String , _ S t r i n g A r r a y o u t
ByRef systems_num As I n t e g e r , _
ByRef s y s t e m s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

858

Calling from Visual Basic with an ActiveX Control


The API functions are available in the ActiveX control ssase.ocx (located in the vb directory of the
Client and Developer Components installation). This control has two properties, RemoteHost and
RemotePort, and has the API functions as methods.
The ActiveX control does not need the sockh parameter.
To make use of the samples, you may need to remove and re-add the ActiveX control ssactrl to
sample1form.frm and sample2form.frm.

Constants
Constants are declared as member properties, in uppercase using underscores, eg. ssa.MSG_SIZE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_connect
Description:
This opens a socket (communication channel) to the Server using TCP/IP. The server can either be the
Search Server or Connection Server. The call returns a socket handle that must be used on subsequent
API calls to communicate over the same channel.

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef hostname As String , _
ByRef p o r t
As I n t e g e r , _
ByVal sockh
As I n t e g e r _
) As I n t e g e r

String in
long in
long out

Parameters:
hostname is the name or IP address of the computer where the MDM-RE Server is running
port the port number of the MDM-RE Server for which a socket connection is to be established
sockh is the socket handle returned by the call

Return Code:
negative for error, 0 for success
859

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_disconnect
Description:
Use this API to close the socket connection to the Server.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success
ids_disconnect

860

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success
861

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Prototype:
Public Function i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef d e l _ c a s e As I n t e g e r , _ Long i n
ByVal d e l _ l i n e 1 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 1 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 2 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 2 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 3 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 3 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 4 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 4 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 5 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 5 _ s i z e As I n t e g e r , _
ByVal d e l _ l i n e 6 ( ) As Byte , _ B l o c k o u t
ByRef d e l _ l i n e 6 _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.
ids_addr_get_del_lines_ext

862

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r , _
ByVal f i e l d _ v a l _ s t a t u s As I n t e g e r , _ Long o u t
ByVal f i e l d _ v a l _ m o d s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ c o u n t ( _
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields
863

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i d x ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ v a l u e ( ) As Byte , _ B l o c k o u t
ByRef f i e l d _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value
ids_addr_get_field_idx

864

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t ( _
ByRef s u g g e s t _ i d x As I n t e g e r , _ Long i n
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r , _
ByVal addr_label_encoded ( ) As Byte , _ B l o c k o u t
ByRef a d d r _ l a b e l _ e n c o d e d _ s i z e As I n t e g e r , _
ByVal a d d r _ l a b e l _ c h a r s e t As String , _ S t r i n g o u t
ByRef a d d r _ l a b e l _ c h a r s e t _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.
865

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ g e t _ f i e l d _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Prototype:
Public Function i d s _ a d d r _ g e t _ l i n e _ l e n ( _
ByVal max_len As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ g e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r
ids_addr_get_line_len

866

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Prototype:
Public Function i d s _ a d d r _ i n f o ( _
ByRef c o n t r o l s As String , _ S t r i n g i n
ByVal value As String , _ S t r i n g o u t
ByRef v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Prototype:
Public Function i d s _ a d d r _ i n i t ( _
ByRef max_memory As I n t e g e r
) As I n t e g e r

_ Long i n

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.
867

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Prototype:
Public Function i d s _ a d d r _ p a r s e ( _
ByVal f i e l d _ l e n g t h ( ) As I n t e g e r , _ LongArray o u t
ByRef f ie l d_ l en g th _n u m As I n t e g e r _
) As I n t e g e r

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database

Prototype:
Public Function i d s _ a d d r _ p r e l o a d _ c o u n t r y ( _
ByRef p r e l o a d _ t y p e As String , _ S t r i n g i n
ByRef p r e l o a d _ c o u n t r y As String , _ S t r i n g i n
ByRef val_mode As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used
ids_addr_parse

868

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.

Prototype:
Public Function i d s _ a d d r _ s e t _ a t t r i b ( _
ByRef c h a r _ s e t As String , _ S t r i n g i n
ByRef d e f a u l t _ c o u n t r y As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Prototype:
Public Function i d s _ a d d r _ s e t _ d e l _ l i n e s ( _
ByRef d e l _ l i n e 1 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 2 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 3 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 4 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 5 ( ) As Byte , _ B l o c k
ByRef d e l _ l i n e 6 ( ) As Byte _ B l o c k
) As I n t e g e r

in
in
in
in
in
in

Parameters:
del_line1 delivery address line 1 input string
869

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

del_line2 delivery address line 2 input string


del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ c a s e ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ c a s e As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ e x t ( _
ByRef f i e l d _ o p e r a t i o n As I n t e g e r , _ Long i n
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ i t e m _ l i n e As I n t e g e r , _ Long i n
ByRef f i e l d _ t y p e As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r
ids_addr_set_field_case

870

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ i d x ( _
ByRef f i e l d _ i d x As I n t e g e r , _ Long i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name
871

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ a d d r _ s e t _ f i e l d _ n a m e ( _
ByRef field_name As String , _ S t r i n g i n
ByRef f i e l d _ v a l u e ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Prototype:
Public Function i d s _ a d d r _ s e t _ l i n e s ( _
ByRef l i n e _ 1 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 2 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 3 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 4 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 5 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 6 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 7 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 8 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 9 ( ) As Byte , _ B l o c k i n
ByRef l i n e _ 1 0 ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address
ids_addr_set_lines

872

Return Code:
negative for error, 0 for success

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Prototype:
Public Function i d s _ a d d r _ s e t _ o p t i o n ( _
ByRef param As String , _ S t r i n g i n
ByRef value As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.

Prototype:
Public Function i d s _ a d d r _ s t d ( _
ByVal firm_name As String , _ S t r i n g i o
ByRef firm_name_size As I n t e g e r , _
ByVal u r b a n i z a t i o n As String , _ S t r i n g i o
ByRef u r b a n i z a t i o n _ s i z e As I n t e g e r , _
ByVal address_one As String , _ S t r i n g i o
ByRef a d d r e s s _ o n e _ s i z e As I n t e g e r , _
ByVal address_two As String , _ S t r i n g i o
ByRef a d d r e s s _ t w o _ s i z e As I n t e g e r , _
ByVal l a s t _ l i n e As String , _ S t r i n g i o
ByRef l a s t _ l i n e _ s i z e As I n t e g e r _
) As I n t e g e r
873

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Prototype:
Public Function i d s _ a d d r _ v a l i d a t e ( _
ByVal s t a t u s As I n t e g e r , _ Long o u t
ByVal n_suggest As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success

ids_connect
Description:
Initiates a socket.
ids_addr_validate

874

Prototype:
Public Function i d s _ c o n n e c t ( _
ByRef h o s t As String , _ S t r i n g i n
ByRef p o r t As I n t e g e r , _ Long i n
ByVal sockh As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.

Prototype:
Public Function i d s _ d i s c o n n e c t ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

875

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ e r r o r _ g e t ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Prototype:
Public Function i d s _ e r r o r s _ g e t _ a l l ( _
ByVal msg As String , _ S t r i n g o u t
ByRef msg_size As I n t e g e r _
) As I n t e g e r

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console
ids_errors_get_all

876

Prototype:
Public Function i d s _ i d e n t i f y ( _
ByRef i d e n t i f i c a t i o n As S t r i n g
) As I n t e g e r

_ String in

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Prototype:
Public Function i d s _ i s _ l i t t l e _ e n d i a n ( _
ByVal e n d i a n _ s t a t e As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Prototype:
877

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Public Function i d s _ m a t c h _ e x p l a i n ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef s e a r c h r e c ( ) As Byte , _ B l o c k i n
ByRef f i l e r e c ( ) As Byte , _ B l o c k i n
ByVal i n f o _ a r r a y ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef info_array_num As I n t e g e r , _
ByRef i n f o _ a r r a y _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Prototype:
Public Function i d s _ m a t c h _ e x p l a i n _ c o u n t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success
ids_match_explain_count

878

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Prototype:
Public Function i d s _ p i d _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Prototype:
Public Function ids_pid_member_count ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.
879

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function ids_pid_member_get ( _
ByRef p r e f i x ( ) As Byte , _ B l o c k i n
ByRef cluster_num As I n t e g e r , _ Long i n
ByVal r e c o r d ( ) As Byte , _ B l o c k o u t
ByRef r e c o r d _ s i z e As I n t e g e r , _
ByVal r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Prototype:
Public Function ids_pid_open ( _
ByRef m u l t i _ s e a r c h As S t r i n g
) As I n t e g e r

_ String in

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.
ids_pid_open

880

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Prototype:
Public Function i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l e _ r e c i d As I n t e g e r , _ Long i n
ByVal p r e f i x s ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef prefixs_num As I n t e g e r , _
ByRef p r e f i x s _ s i z e As I n t e g e r , _
ByVal cluster_nums ( ) As I n t e g e r , _ LongArray o u t
ByRef cluster_nums_num As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster
881

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ g e t ( _
ByVal s r c _ p k _ v a l u e ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef src_pk_value_num As I n t e g e r , _
ByRef s r c _ p k _ v a l u e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_pid_src_pk_start
Description:
Search for persistent ids

Prototype:
Public Function i d s _ p i d _ s r c _ p k _ s t a r t ( _
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef src_pk ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success
ids_pid_src_pk_get

882

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ l i s t ( _
ByVal gross_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef gross_names_num As I n t e g e r , _
ByRef gross_names_size As I n t e g e r , _
ByVal fine_names ( ) As String , _ S t r i n g A r r a y o u t
ByRef fine_names_num As I n t e g e r , _
ByRef f i n e _ n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s ( _
ByRef type As String , _ S t r i n g i n
ByVal elements As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success
883

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Prototype:
Public Function i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h ( _
ByRef type As String , _ S t r i n g i n
ByVal l e n g t h As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Prototype:
Public Function i d s _ p s _ p a r s e ( _
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef input ( ) As Byte , _ B l o c k i n
ByVal g r o s s ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef gross_num As I n t e g e r , _
ByRef g r o s s _ s i z e As I n t e g e r , _
ByVal f i n e ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef fine_num As I n t e g e r , _
ByRef f i n e _ s i z e As I n t e g e r , _
ByVal standard ( ) ( ) As Byte , _ B l o c k A r r a y i o
ByRef standard_num As I n t e g e r , _
ByRef s t a n d a r d _ s i z e As I n t e g e r , _
ByVal ps_format ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef ps_format_num As I n t e g e r , _
ByRef p s _ f o r m a t _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
ids_ps_get_entity_max_length

884

gross Gross entities used as input or output


fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Prototype:
Public Function i d s _ p s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output

Prototype:
Public Function i d s _ p s _ s e t _ e n t i t y _ l i s t ( _
ByRef type As String , _ S t r i n g i n
ByRef e n t i t y _ l i s t ( ) As S t r i n g _ S t r i n g A r r a y i n
) As I n t e g e r

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names
885

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Prototype:
Public Function i d s _ p s _ s e t _ p o p u l a t i o n ( _
ByRef system As String , _ S t r i n g i n
ByRef p o p u l a t i o n As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByRef b l o c k As I n t e g e r , _ Long i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response
ids_ps_set_population

886

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ a s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByRef s o u r c e As I n t e g e r , _ Long i n
ByRef m u l t i _ s e a r c h As String , _ S t r i n g i n
ByRef i n p u t _ i d As I n t e g e r , _ Long i n
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
887

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ a d d ( _
ByRef r u l e _ t y p e As String , _ S t r i n g i n
ByRef s u b j e c t _ r e c _ p k ( ) As Byte , _ B l o c k i n
ByRef r e l a t i o n s h i p As String , _ S t r i n g i n
ByRef r e l a t e d _ r e c _ p k ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.
ids_real_time_flul_add

888

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ d e l e t e ( _
ByRef r u l e _ t y p e _ o p t i o n As I n t e g e r , _ Long i n
ByRef record_pk ( ) As Byte _ B l o c k i n
) As I n t e g e r

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.
889

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e ( _
ByRef i d t _ r e c ( ) As Byte , _ B l o c k i n
ByRef o p t i o n As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option

0 Link Rule.

1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.

Should be called after

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e ( _
ByVal i d t _ r e c ( ) As Byte , _ B l o c k o u t
ByRef i d t _ r e c _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.
ids_real_time_flul_get_rule

890

Prototype:
Public Function i d s _ r e a l _ t i m e _ f l u l _ i n i t ( _
ByRef idt_name As String , _ S t r i n g i n
ByRef m u l t i _ s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ g e t ( _
ByRef r e f e r e n c e As String , _ S t r i n g i n
ByVal c l u s t e r _ a c t i o n _ t y p e As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ t y p e _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ i d As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ i d _ s i z e As I n t e g e r , _
ByVal c l u s t e r _ a c t i o n _ n u m b e r As I n t e g e r , _ Long o u t
ByVal c l u s t e r _ a c t i o n _ n e w As String , _ S t r i n g o u t
ByRef c l u s t e r _ a c t i o n _ n e w _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results
891

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Prototype:
Public Function i d s _ r e a l _ t i m e _ s y n c _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef IDT As String , _ S t r i n g i n
ByRef sequence_number As String , _ S t r i n g i n
ByRef o p e r a t i o n As String , _ S t r i n g i n
ByRef c l u s t e r _ r e c o r d ( ) As Byte , _ B l o c k i n
ByVal c l u s t e r _ a c t i o n _ c o u n t As I n t e g e r , _ Long o u t
ByVal r e f e r e n c e As String , _ S t r i n g o u t
ByRef r e f e r e n c e _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
ids_real_time_sync_start

892

13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Prototype:
Public Function i d s _ s c o r e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s c o r e s ( ) As I n t e g e r , _ LongArray o u t
ByRef scores_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Prototype:
893

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Public Function ids_search_comment_get ( _


ByRef searchname As String , _ S t r i n g i n
ByVal comment As String , _ S t r i n g o u t
ByRef comment_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Prototype:
Public Function i d s _ s e a r c h _ d e d u p e _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByRef f l a g s As I n t e g e r , _ Long i n
ByVal r e c i d As I n t e g e r , _ Long i o
ByVal r e c s As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
ids_search_dedupe_start

894

flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f c As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Prototype:
Public Function i d s _ s e a r c h _ f i e l d s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal f i e l d n a m e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef fieldnames_num As I n t e g e r , _
ByRef f i e l d n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r
895

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Prototype:
Public Function i d s _ s e a r c h _ f i l t e r ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef f i l t e r As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Prototype:
Public Function i d s _ s e a r c h _ f i n i s h ( _
ByRef s e a r c h As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the search that was performed
ids_search_filter

896

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Prototype:
Public Function i d s _ s e a r c h _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal s r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef sreps_num As I n t e g e r , _
ByVal f r e p s ( ) As I n t e g e r , _ LongArray o u t
ByRef freps_num As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".
897

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.

Prototype:
Public Function i d s _ s e a r c h _ g e t _ c o m p l e t e ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal s e a r c h r e t u r n ( ) As Byte , _ B l o c k o u t
ByRef s e a r c h r e t u r n _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal i n f o ( ) As Byte , _ B l o c k o u t
ByRef i n f o _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Prototype:
ids_search_get_complete

898

Public Function i d s _ s e a r c h _ g e t _ d e t a i l ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByVal f i l e _ r e c ( ) As Byte , _ B l o c k o u t
ByRef f i l e _ r e c _ s i z e As I n t e g e r , _
ByVal s c o r e As I n t e g e r , _ Long o u t
ByVal d e c i s i o n As String , _ S t r i n g o u t
ByRef d e c i s i o n _ s i z e As I n t e g e r , _
ByVal f i l e _ r e c i d As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Prototype:
Public Function i d s _ s e a r c h _ I D T _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal IDT As String , _ S t r i n g o u t
ByRef IDT_size As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success
899

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Prototype:
Public Function i d s _ s e a r c h _ l a y o u t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef func As String , _ S t r i n g i n
ByVal names ( ) As String , _ S t r i n g A r r a y o u t
ByRef names_num As I n t e g e r , _
ByRef names_size As I n t e g e r , _
ByVal l e n g t h s ( ) As I n t e g e r , _ LongArray o u t
ByRef lengths_num As I n t e g e r , _
ByVal o f f s e t s ( ) As I n t e g e r , _ LongArray o u t
ByRef offsets_num As I n t e g e r , _
ByVal r e p e a t s ( ) As I n t e g e r , _ LongArray o u t
ByRef repeats_num As I n t e g e r , _
ByVal formats ( ) As String , _ S t r i n g A r r a y o u t
ByRef formats_num As I n t e g e r , _
ByRef f o r m a t s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)


ids_search_layout

900

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Prototype:
Public Function i d s _ s e a r c h _ s t a r t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef search_width As String , _ S t r i n g i n
ByRef m a t c h _ t o l e r a n c e As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByVal s e a r c h r e c ( ) As Byte , _ B l o c k i o
ByRef s e a r c h r e c _ s i z e As I n t e g e r , _
ByRef AnswersetName As String , _ S t r i n g i n
ByVal r e c s As I n t e g e r , _ Long o u t
ByRef r e c o r d s ( ) ( ) As Byte _ B l o c k A r r a y i n
) As I n t e g e r

Parameters:
search is the name of the search to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
901

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success
ids_search_tolerances_count

902

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Prototype:
Public Function i d s _ s e a r c h _ t o l e r a n c e s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal t o l e r a n c e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef tolerances_num As I n t e g e r , _
ByRef t o l e r a n c e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ g e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByVal viewName As String , _ S t r i n g o u t
ByRef viewName_size As I n t e g e r , _
ByVal viewFieldCount As I n t e g e r , _ Long o u t
ByVal viewRecLen As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
903

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

viewFieldCount the number of fields in the view


viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Prototype:
Public Function i d s _ s e a r c h _ v i e w _ s e t ( _
ByRef s e a r c h As String , _ S t r i n g i n
ByRef viewType As String , _ S t r i n g i n
ByRef viewName As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ c o u n t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal count As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.
ids_search_view_set

904

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Prototype:
Public Function i d s _ s e a r c h _ w i d t h s _ g e t ( _
ByRef searchname As String , _ S t r i n g i n
ByVal widths ( ) As String , _ S t r i n g A r r a y o u t
ByRef widths_num As I n t e g e r , _
ByRef w i d t h s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Prototype:
Public Function i d s _ s e r v e r _ v e r s i o n _ g e t ( _
ByVal s e r v e r _ v e r s i o n As String , _ S t r i n g o u t
ByRef s e r v e r _ v e r s i o n _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
server_version is the area into which the string containing the version information will be copied.

Return Code:
negative for error, 0 for success
905

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Prototype:
Public Function i d s _ s e s s i o n _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Prototype:
Public Function i d s _ s e s s i o n _ o p e n ( _
ByVal s e s s i o n As I n t e g e r _ Long i o
) As I n t e g e r

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
ids_session_close

906

if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Prototype:
Public Function i d s _ s e t _ e n c o d i n g ( _
ByRef encoding As I n t e g e r _ Long i n
) As I n t e g e r

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Prototype:
Public Function i d s _ s e t _ v p d _ u s e r ( _
ByRef vpd_user As String , _ S t r i n g i n
ByRef vpd_ctx As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.
907

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ c l o s e ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_count ( _
ByVal i d t c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Prototype:
Public Function ids_system_idtname_get ( _
ByVal idtnames ( ) As String , _ S t r i n g A r r a y o u t
ByRef idtnames_num As I n t e g e r , _
ByRef i d t n a m e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).
ids_system_idtname_count

908

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Prototype:
Public Function i d s _ s y s t e m _ n o t i f y ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef sysname As String , _ S t r i n g i n
ByRef message As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
sysname is the name of the system
message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Prototype:
Public Function ids_system_open ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef Options As S t r i n g _ S t r i n g i n
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
909

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

verbosity specifies the verbosity level. See the Verbosity section for details.
Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Prototype:
Public Function i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r , _
ByVal p i d _ p r e f i x ( ) ( ) As Byte , _ B l o c k A r r a y o u t
ByRef pid_prefix_num As I n t e g e r , _
ids_system_pid_searches_count

910

ByRef
ByVal
ByRef
ByVal
ByRef
) As I n t e g e r

p i d _ p r e f i x _ s i z e As I n t e g e r , _
pid_opts ( ) As I n t e g e r , _ LongArray o u t
pid_opts_num As I n t e g e r , _
p r e f _ r e c _ o p t s ( ) As I n t e g e r , _ LongArray o u t
pref_rec_opts_num As I n t e g e r _

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ f i n i s h ( _ ) As I n t e g e r

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.
911

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h _ s t a r t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByRef system As String , _ S t r i n g i n
ByRef v e r b o s i t y As String , _ S t r i n g i n
ByRef o p t i o n s As String , _ S t r i n g i n
ByRef s e a r c h As String , _ S t r i n g i n
ByRef parameters ( ) ( ) As Byte , _ B l o c k A r r a y i n
ByRef AnswersetName As String , _ S t r i n g i n
ByVal d a t a l e n As I n t e g e r , _ Long o u t
ByVal r e c s As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ c o u n t ( _
ByVal s e a r c h c o u n t As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
searchcount is the number of searches defined on the system
ids_system_searches_count

912

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Prototype:
Public Function i d s _ s y s t e m _ s e a r c h e s _ g e t ( _
ByVal s e a r c h e s ( ) As String , _ S t r i n g A r r a y o u t
ByRef searches_num As I n t e g e r , _
ByRef s e a r c h e s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ c o u n t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systemscount As I n t e g e r _ Long o u t
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.
913

CALLING FROM VISUAL BASIC WITH AN ACTIVEX CONTROL

Return Code:
negative for error, 0 for success

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Prototype:
Public Function i d s _ s y s t e m s _ g e t ( _
ByRef r u l e b a s e As String , _ S t r i n g i n
ByVal systems ( ) As String , _ S t r i n g A r r a y o u t
ByRef systems_num As I n t e g e r , _
ByRef s y s t e m s _ s i z e As I n t e g e r _
) As I n t e g e r

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_get

914

Using MDM-RE with XML


XML is not another language binding but a different way of talking to MDM - Registry Edition.

WSDL
A Web Services Description Language (WSDL) file for the search API is created in the server work
directory when the server starts or is refreshed.
The WSDL can also be accessed through the server at:
http://<xmhost>:<xmport>/?search.wsdl

Creating a proxy with .NET


A proxy can be created from the WSDL generated by the XML Search Server using wsdl.exe, which is
part of the Microsoft .NET SDK. Given the WSDL, one can create a proxy with:
wsdl /out:search.cs search.wsdl

This creates a C# public class called search which can be used to access the XML search API.

Creating a proxy with Apache Axis2


A proxy can be created from the WSDL generated by the XML Search Server using Apache Axis2.
Given the WSDL, one can create a proxy on Windows with:
%AXIS2_HOME%\bin\wsdl2java -uri search.wsdl -d adb -s -p search

or on Unix with:
sh $AXIS2_HOME/bin/wsdl2java.sh -uri search.wsdl -d adb -s -p search

This creates a Java public class called search which can be used to access the XML search API.

XML and HTTP


XML messages are sent to the Search Server using Hypertext Transfer Protocol (HTTP), the protocol
used by Web servers. See the Servers / Starting section in the O PERATIONS manual for more information on enabling the HTTP/XML protocol.
The general format of an HTTP request looks like this:
request-line
headers (0 or more)
<blank line>
body
A simple HTTP request header looks like this:
915

USING MDM-RE WITH XML

POST / HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Host: ssa:1665
User-Agent: libwww-perl/5.814
Content-Length: 1044

A simple HTTP response header looks like this:


HTTP/1.1 200 OK
Date: Thu, 04 Mar 2010 03:11:49 GMT
User-Agent: Informatica-IR/9.0.01
Content-Type: text/xml; charset=UTF-8
Cache-Control: no-cache
SOAPAction: ""
Content-Length: 1149

While the last figure represents the length of the body in bytes.

XML and SOAP


The body must be formatted as a Simple Object Access Protocol (SOAP) request. The function call
block identifies the function and its parameters. These are provided in the form of XML tags. Here is
an example:

<?xml version="1.0" encoding="UTF-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ps_set_population xmlns="http://www.identitysystems.com/xmlschema/iss-version-9/se
<session>452984832</session>
<system>default</system>
<population>std</population>
</ps_set_population>
</soap:Body>
</soap:Envelope>

A response will look like this:

<?xml version="1.0" encoding="UTF-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/03/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-s
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-ut
<soap:Header>
<wsa:MessageID>urn:uuid:3f1d7c19-b7f2-4432-a4ef-469a11926c91</wsa:MessageID>
<wsa:Action>ps_set_population</wsa:Action>
<wsa:To>http://www.w3.org/2005/03/addressing/role/anonymous</wsa:To>
<wsa:From>
<wsa:Address>http://ssa:1665</wsa:Address>
</wsa:From>

916

<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-d3ca2448-9c81-4427-8701-847e632fdc7f">
<wsu:Created>2010-03-04T04:11:49Z</wsu:Created>
<wsu:Expires>2010-03-04T04:16:49Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<ps_set_population_response xmlns="http://www.identitysystems.com/xmlschema/iss-ver
<response>0</response>
<session>452984832</session>
</ps_set_population_response>
</soap:Body>
</soap:Envelope>

An error will produce a SOAP fault. For example:

<?xml version="1.0" encoding="UTF-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/03/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-s
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-ut
<soap:Header>
<wsa:MessageID>urn:uuid:e231f126-b369-4113-8bfa-4c2932126630</wsa:MessageID>
<wsa:Action>http://www.w3.org/2005/03/addressing/fault</wsa:Action>
<wsa:RelatesTo wsa:RelationshipType="http://www.w3.org/2005/08/addressing/reply"
>urn:uuid:45e4ac46-c7ce-4c0a-b2e0-8410665090c4</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsa:From>
<wsa:Address>http://ssa:1665</wsa:Address>
</wsa:From>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-4d52859b-5f59-4bab-b88b-c5925860a394">
<wsu:Created>2010-03-04T06:39:50Z</wsu:Created>
<wsu:Expires>2010-03-04T06:44:50Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<soap:faultcode>Client</soap:faultcode>
<soap:faultstring>user_open: RuleBase name is blank</soap:faultstring>
<soap:detail>
<ssa:error xmlns:ssa="http://www.identitysystems.com/xmlschema/iss-version-9">
<ssa:response>-11010109</ssa:response>
<ssa:function>system_search_start</ssa:function>
<ssa:session>721420288</ssa:session>
<ssa:details>[304163950 17] ssasrsv &gt; It is now 20100304163950
[304163950 17] ssaxms1.c
871 rc
9
40110101*100
[304163950 17] ssasesi.c
4244 rc
1
10401101*100
[304163950 17] ssasesi.c
1363 rc
1
104011*100
[304163950 17] open system testx228 in rulebase failed. Check the Rulebase status
[304163950 17] ssarbcx.c
735 rc
1
10401*10
[304163950 17] ssaru.c
617 rc
1
104*100
[304163950 17] ssaru.c
594 rc
4
1*100
[304163950 17] ssaru.c
514 rc
1
[304163950 17] user_open: RuleBase name is blank
</ssa:details>
</ssa:error>

917

USING MDM-RE WITH XML

</soap:detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>

XML and Unicode


XML messages must be sent in Unicode, either in UTF-8 or UTF-16. No other character sets are supported.
Any message sent in UTF-8 will be replied to in UTF-8, while one sent in UTF-16 is replied to in UTF16. All strings must be valid Unicode strings. This includes search names and the like. However
blocks may contain any character set. Refer to the O PERATIONS manual, Globalization chapter for
more details about issues relating to multiple languages, character sets and UNICODE.

Parameter types
Note: values in BOLD represent information that must be provided to the function.

ids_addr_get_cass_field
Description:
Use this function to retrieve a validated CASS field. The suggestion_idx specifies the suggestion
from which to select the field value. (1..n for validated data, where n is the n_suggest parameter
returned by ids_addr_validate).

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
< f i e l d _ i d x >301</ f i e l d _ i d x >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ g e t _ c a s s _ f i e l d >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field_response
XML and Unicode

918

xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >


<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
</ i d s _ a d d r _ g e t _ c a s s _ f i e l d _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the nth suggestion from which to get a cass field
field_idx Specifies a cass field within the nth suggestion
field_value The cass field value

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_cnt
Description:
This function returns the maximum number of CASS address fields created as a result of a parse or validate call. Use this value to dynamically allocate the field_length array for the ids_addr_parse
API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field_cnt
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field_cnt_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
919

USING MDM-RE WITH XML

</ i d s _ a d d r _ g e t _ c a s s _ f i e l d _ c n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
count Returns the max number of cass address fields

Return Code:
negative for error, 0 for success

ids_addr_get_cass_field_info
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field_info
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
<fi e ld _ le n gt h_ n um>1</fi e ld _ le n gt h _n u m>
</ i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_cass_field_info_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<field_lengthArray>
< f i e l d _ l e n g t h >301</ f i e l d _ l e n g t h >
</ f i e l d _ l e n g t h A r r a y >
</ i d s _ a d d r _ g e t _ c a s s _ f i e l d _ i n f o _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
ids_addr_get_cass_field_info

920

field_length An array containing the length of each cass address field

Return Code:
negative for error, 0 for success

ids_addr_get_del_lines_ext
Description:
Use this function to retrieve delivery address line information

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_del_lines_ext
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
< d e l _ c a s e >301</ d e l _ c a s e >
< d e l _ l i n e 1 _ s i z e >50</ d e l _ l i n e 1 _ s i z e >
< d e l _ l i n e 2 _ s i z e >50</ d e l _ l i n e 2 _ s i z e >
< d e l _ l i n e 3 _ s i z e >50</ d e l _ l i n e 3 _ s i z e >
< d e l _ l i n e 4 _ s i z e >50</ d e l _ l i n e 4 _ s i z e >
< d e l _ l i n e 5 _ s i z e >50</ d e l _ l i n e 5 _ s i z e >
< d e l _ l i n e 6 _ s i z e >50</ d e l _ l i n e 6 _ s i z e >
</ i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_del_lines_ext_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< d e l _ l i n e 1 >value</ d e l _ l i n e 1 >
< d e l _ l i n e 2 >value</ d e l _ l i n e 2 >
< d e l _ l i n e 3 >value</ d e l _ l i n e 3 >
< d e l _ l i n e 4 >value</ d e l _ l i n e 4 >
< d e l _ l i n e 5 >value</ d e l _ l i n e 5 >
< d e l _ l i n e 6 >value</ d e l _ l i n e 6 >
</ i d s _ a d d r _ g e t _ d e l _ l i n e s _ e x t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
921

USING MDM-RE WITH XML

Parameters:
suggest_idx Specifies the suggestion from which to get delivery address lines
del_case Specifies delivery address line case option value. The allowed values are 0 = Unchanged, 1
= Upper case, 2 = Lower case and 3 = Mixed case.
del_line1 delivery address line 1 output string
del_line2 delivery address line 2 output string
del_line3 delivery address line 3 output string
del_line4 delivery address line 4 output string
del_line5 delivery address line 5 output string
del_line6 delivery address line 6 output string

Return Code:
negative for error, 0 for success

ids_addr_get_field
Description:
Use this function to retrieve a validated field. The suggestion_idx specifies the suggestion from
which to select the field value. (1..n for validated data, where n is the n_suggest parameter returned
by ids_addr_validate). val_status and val_mods return a code that describes how the field
matched to validation data and whether or not it was modified by validation. Refer to the Address
Validation section of this manual for a list of codes.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
< f i e l d _ i d x >301</ f i e l d _ i d x >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ g e t _ f i e l d >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
ids_addr_get_field

922

xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >


<soap:Body>
<ids_addr_get_field_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
< f i e l d _ v a l _ s t a t u s >302</ f i e l d _ v a l _ s t a t u s >
< f i e l d _ v a l _ m o d s >302</ f i e l d _ v a l _ m o d s >
</ i d s _ a d d r _ g e t _ f i e l d _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field
field_idx Specifies a field within the nth suggestion
field_value The field value
field_val_status Specifies how this field matched the validation data
field_val_mods Specifies how this field was modified by validation data

Return Code:
negative for error, 0 for success

ids_addr_get_field_count
Description:
This function returns the maximum number of address fields created as a result of a parse or validate
call. Use this value to dynamically allocate the field_length array for the ids_addr_parse API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ g e t _ f i e l d _ c o u n t >
</soap:Body>
</soap:Envelope>

Output message:
923

USING MDM-RE WITH XML

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
</ i d s _ a d d r _ g e t _ f i e l d _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
count Returns the max number of address fields

Return Code:
negative for error, 0 for success

ids_addr_get_field_ext
Description:
Use this function to retrieve all getter fields

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_ext
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
< f i e l d _ o p e r a t i o n >301</ f i e l d _ o p e r a t i o n >
<field_name>value</field_name>
< f i e l d _ i t e m _ l i n e >301</ f i e l d _ i t e m _ l i n e >
< f i e l d _ t y p e >value</ f i e l d _ t y p e >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ g e t _ f i e l d _ e x t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
ids_addr_get_field_ext

924

<soap:Body>
<ids_addr_get_field_ext_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
</ i d s _ a d d r _ g e t _ f i e l d _ e x t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the suggestion from which to get fields
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines Option
2 for AddressComplete Option 3 for EnrichmentData Option 4 for ResultDataParameter Option 5 for
EnrichmentDataStatus
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value Cleansed field output

Return Code:
negative for error, 0 for success

ids_addr_get_field_idx
Description:
Use this function to retrieve a parsed or validated field. The suggestion_idx specifies the suggestion from which to select the field value. (0 for parsed data, 1..n for validated data, where n is the
n_suggest parameter returned by ids_addr_validate).

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_idx
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
< f i e l d _ i d x >301</ f i e l d _ i d x >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ g e t _ f i e l d _ i d x >
</soap:Body>
</soap:Envelope>
925

USING MDM-RE WITH XML

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_idx_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
</ i d s _ a d d r _ g e t _ f i e l d _ i d x _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the nth suggestion from which to get a field. On successful parse, use 0 for
ASM/AD version 4, 1 for ASM/AD version 5
field_idx Specifies a field within the nth suggestion
field_value The field value

Return Code:
negative for error, 0 for success

ids_addr_get_field_info_ext
Description:
Use this function to retrieve a list of individual field lengths after validating an address. Fields with a
length of zero have no value associated with them and can be omitted from the list of fields retrieved
with ids_addr_get_field_idx

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_info_ext
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s u g g e s t _ i d x >301</ s u g g e s t _ i d x >
<fi e ld _ le n gt h_ n um>1</fi e ld _ le n gt h _n u m>
< a d d r _ l a b e l _ e n c o d e d _ s i z e >50</ a d d r _ l a b e l _ e n c o d e d _ s i z e >
< a d d r _ l a b e l _ c h a r s e t _ s i z e >256</ a d d r _ l a b e l _ c h a r s e t _ s i z e >
</ i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t >
</soap:Body>
</soap:Envelope>
ids_addr_get_field_info_ext

926

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_info_ext_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<field_lengthArray>
< f i e l d _ l e n g t h >301</ f i e l d _ l e n g t h >
</ f i e l d _ l e n g t h A r r a y >
<addr_label_encoded>value</addr_label_encoded>
< a d d r _ l a b e l _ c h a r s e t >value</ a d d r _ l a b e l _ c h a r s e t >
< s c o r e >302</ s c o r e >
</ i d s _ a d d r _ g e t _ f i e l d _ i n f o _ e x t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
suggest_idx Specifies the suggestion from which to retrieve information
field_length An array containing the length of each address field
addr_label_encoded The returned label
addr_label_charset The character set used in the address label
score The returned labels score

Return Code:
negative for error, 0 for success

ids_addr_get_field_len
Description:
This function returns the maximum length of an individual address field. It may be used to dynamically
allocate the field parameter used for the ids_addr_get_field_idx API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_len
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ g e t _ f i e l d _ l e n >
</soap:Body>
</soap:Envelope>
927

USING MDM-RE WITH XML

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_field_len_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<max_len>302</max_len>
</ i d s _ a d d r _ g e t _ f i e l d _ l e n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
max_len Returns the max address field length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_line_len
Description:
This function returns the maximum length of an input address line. It may be used to dynamically
allocate the input lines used for the ids_addr_set_lines API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_line_len
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ g e t _ l i n e _ l e n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_line_len_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
ids_addr_get_line_len

928

<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<max_len>302</max_len>
</ i d s _ a d d r _ g e t _ l i n e _ l e n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
max_len Returns the max line length in bytes

Return Code:
negative for error, 0 for success

ids_addr_get_option
Description:
Use this function to obtain values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_option
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<param>value</param>
< v a l u e _ s i z e >256</ v a l u e _ s i z e >
</ i d s _ a d d r _ g e t _ o p t i o n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_get_option_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<value>value</value>
</ i d s _ a d d r _ g e t _ o p t i o n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
929

USING MDM-RE WITH XML

Parameters:
param This field specifies the name of the option to get.
value Returns the value of the option.

Return Code:
negative for error, 0 for success

ids_addr_info
Description:
Use this function to request additional information about an input address. This call must always be
preceded with a call to ids_addr_std.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_info
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< c o n t r o l s >value</ c o n t r o l s >
< v a l u e _ s i z e >256</ v a l u e _ s i z e >
</ i d s _ a d d r _ i n f o >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_info_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<value>value</value>
</ i d s _ a d d r _ i n f o _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
controls this field contains the request information. It must me specified in the form ITEM=[value].
value this field contains the requested information.
ids_addr_info

930

Return Code:
negative for error, 0 for success

ids_addr_init
Description:
This function initializes the Address Standardization sub-system. It must be the first call to
ids_addr_* family of functions. The max_memory parameter specifies the maximum amount of
memory (MB) to be used by the Address Standardization engine (within the Search Server process).

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_init
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<max_memory>301</max_memory>
</ i d s _ a d d r _ i n i t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_init_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ i n i t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
max_memory This field specifies the maximum amount of memory (MB) to be used by the Address
Standardization engine.

Return Code:
negative for error, 0 for success
931

USING MDM-RE WITH XML

ids_addr_parse
Description:
Use this function to parse an address. The individual field lengths after parsing an address are returned
in the field_length array. Fields with a length of zero have no value associated with them and can be
omitted from the list of fields retrieved with ids_addr_get_field_idx

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_parse
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<fi e ld _ le n gt h_ n um>1</fi e ld _ le n gt h _n u m>
</ i d s _ a d d r _ p a r s e>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_parse_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<field_lengthArray>
< f i e l d _ l e n g t h >301</ f i e l d _ l e n g t h >
</ f i e l d _ l e n g t h A r r a y >
</ i d s _ a d d r _ p a r s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
field_length An array containing the length of each parsed field

Return Code:
negative for error, 0 for success

ids_addr_preload_country
Description:
Use this function to preload country database
ids_addr_parse

932

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_preload_country
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<p r e l o a d _ t y p e>value</p r e l o a d _ t y p e>
<p r e l o a d _ c o u n t r y>value</p r e l o a d _ c o u n t r y>
<val_mode>value</val_mode>
</i d s _ a d d r _ p r e l o a d _ c o u n t r y>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_preload_country_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ p r e l o a d _ c o u n t r y _ r e s p o n s e>
</soap:Body>
</soap:Envelope>

Parameters:
preload_type Type of preload to perform
preload_country Country database to be preloaded
val_mode Validation mode to be used

Return Code:
negative for error, 0 for success

ids_addr_set_attrib
Description:
Use this function to specify the character set of the data (for both input and output). The default_country parameter specifies that default country to use when parsing cannot identify a country
from the address. This API must be called prior to parsing or validating an address. The values stay in
effect for the life of the session, or until they are changed.
933

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_attrib
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< c h a r _ s e t >value</ c h a r _ s e t >
< d e f a u l t _ c o u n t r y >value</ d e f a u l t _ c o u n t r y >
</ i d s _ a d d r _ s e t _ a t t r i b >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_attrib_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ a t t r i b _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
char_set The name of the character set used to encode the input and output.
default_country The default country used for validation when parsing cannot detect a country
name.

Return Code:
negative for error, 0 for success

ids_addr_set_del_lines
Description:
Use this function to set delivery address line information

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
ids_addr_set_del_lines

934

<soap:Body>
<ids_addr_set_del_lines
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< d e l _ l i n e 1 >value</ d e l _ l i n e 1 >
< d e l _ l i n e 1 _ s i z e >50</ d e l _ l i n e 1 _ s i z e >
< d e l _ l i n e 2 >value</ d e l _ l i n e 2 >
< d e l _ l i n e 2 _ s i z e >50</ d e l _ l i n e 2 _ s i z e >
< d e l _ l i n e 3 >value</ d e l _ l i n e 3 >
< d e l _ l i n e 3 _ s i z e >50</ d e l _ l i n e 3 _ s i z e >
< d e l _ l i n e 4 >value</ d e l _ l i n e 4 >
< d e l _ l i n e 4 _ s i z e >50</ d e l _ l i n e 4 _ s i z e >
< d e l _ l i n e 5 >value</ d e l _ l i n e 5 >
< d e l _ l i n e 5 _ s i z e >50</ d e l _ l i n e 5 _ s i z e >
< d e l _ l i n e 6 >value</ d e l _ l i n e 6 >
< d e l _ l i n e 6 _ s i z e >50</ d e l _ l i n e 6 _ s i z e >
</ i d s _ a d d r _ s e t _ d e l _ l i n e s >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_del_lines_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ d e l _ l i n e s _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
del_line1 delivery address line 1 input string
del_line2 delivery address line 2 input string
del_line3 delivery address line 3 input string
del_line4 delivery address line 4 input string
del_line5 delivery address line 5 input string
del_line6 delivery address line 6 input string

Return Code:
negative for error, 0 for success

ids_addr_set_field_case
Description:
Use this function to set individual input fields case option
935

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_case
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ i d x >301</ f i e l d _ i d x >
< f i e l d _ c a s e >301</ f i e l d _ c a s e >
</ i d s _ a d d r _ s e t _ f i e l d _ c a s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_case_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ f i e l d _ c a s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
field_idx Specifies the nth field to set
field_case Specifies output field case option value. The allowed values are 0 = Unchanged, 1 =
Upper case, 2 = Lower case and 3 = Mixed case.

Return Code:
negative for error, 0 for success

ids_addr_set_field_ext
Description:
Use this function to set fields

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
ids_addr_set_field_ext

936

<soap:Body>
<ids_addr_set_field_ext
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ o p e r a t i o n >301</ f i e l d _ o p e r a t i o n >
<field_name>value</field_name>
< f i e l d _ i t e m _ l i n e >301</ f i e l d _ i t e m _ l i n e >
< f i e l d _ t y p e >value</ f i e l d _ t y p e >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ s e t _ f i e l d _ e x t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_ext_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ f i e l d _ e x t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
field_operation Field operation Option 0 for AddressElements Option 1 for AddressLines
field_name Refer AD Result.dtd for field names
field_item_line Represent field line number or field item number
field_type Refer AD Result.dtd for field attribute Type
field_value input field value

Return Code:
negative for error, 0 for success

ids_addr_set_field_idx
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Input message:
937

USING MDM-RE WITH XML

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_idx
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< f i e l d _ i d x >301</ f i e l d _ i d x >
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ s e t _ f i e l d _ i d x >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_idx_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ f i e l d _ i d x _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
field_idx Specifies the nth field to set
field_value Specifies a value for the nth field

Return Code:
negative for error, 0 for success

ids_addr_set_field_name
Description:
Use this function to set individual input fields by name

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_name
ids_addr_set_field_name

938

xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >


< s e s s i o n >3436273</ s e s s i o n >
<field_name>value</field_name>
< f i e l d _ v a l u e >value</ f i e l d _ v a l u e >
< f i e l d _ v a l u e _ s i z e >50</ f i e l d _ v a l u e _ s i z e >
</ i d s _ a d d r _ s e t _ f i e l d _ n a m e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_field_name_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ f i e l d _ n a m e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
field_name Specifies the name of the field to set
field_value Specifies a value for the field

Return Code:
negative for error, 0 for success

ids_addr_set_lines
Description:
Use this function to specify the value of an input field. This API is used to specify an input address that
has already been pre-parsed into separate fields.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_lines
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< l i n e _ 1 >value</ l i n e _ 1 >
< l i n e _ 1 _ s i z e >50</ l i n e _ 1 _ s i z e >
< l i n e _ 2 >value</ l i n e _ 2 >
939

USING MDM-RE WITH XML

< l i n e _ 2 _ s i z e >50</ l i n e _ 2 _ s i z e >


< l i n e _ 3 >value</ l i n e _ 3 >
< l i n e _ 3 _ s i z e >50</ l i n e _ 3 _ s i z e >
< l i n e _ 4 >value</ l i n e _ 4 >
< l i n e _ 4 _ s i z e >50</ l i n e _ 4 _ s i z e >
< l i n e _ 5 >value</ l i n e _ 5 >
< l i n e _ 5 _ s i z e >50</ l i n e _ 5 _ s i z e >
< l i n e _ 6 >value</ l i n e _ 6 >
< l i n e _ 6 _ s i z e >50</ l i n e _ 6 _ s i z e >
< l i n e _ 7 >value</ l i n e _ 7 >
< l i n e _ 7 _ s i z e >50</ l i n e _ 7 _ s i z e >
< l i n e _ 8 >value</ l i n e _ 8 >
< l i n e _ 8 _ s i z e >50</ l i n e _ 8 _ s i z e >
< l i n e _ 9 >value</ l i n e _ 9 >
< l i n e _ 9 _ s i z e >50</ l i n e _ 9 _ s i z e >
< l i n e _ 1 0 >value</ l i n e _ 1 0 >
< l i n e _ 1 0 _ s i z e >50</ l i n e _ 1 0 _ s i z e >
</ i d s _ a d d r _ s e t _ l i n e s >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_lines_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ l i n e s _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
line_1 The first line of the address
line_2 The second line of the address
line_3 The third line of the address
line_4 The fourth line of the address
line_5 The fifth line of the address
line_6 The sixth line of the address
line_7 The seventh line of the address
line_8 The eighth line of the address
line_9 The ninth line of the address
line_10 The tenth line of the address

Return Code:
negative for error, 0 for success
ids_addr_set_lines

940

ids_addr_set_option
Description:
Use this function to set values of options that control Address Standardization behavior. A list of
options appears in the Address Standardization section of this manual.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_option
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<param>value</param>
<value>value</value>
</ i d s _ a d d r _ s e t _ o p t i o n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_set_option_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ s e t _ o p t i o n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
param This field specifies the name of the option to set.
value This field specifies a value for the option.

Return Code:
negative for error, 0 for success

ids_addr_std
Description:
Use this function to request IDS to standardize an address by validating it against USPS validation
tables and formatting it to comply with U.S. Postal Addressing Standards. This API requires the separately licensable IDS Address Standardization Module to be installed.
941

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_std
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<firm_name>value</firm_name>
<firm_name_size>256</firm_name_size>
< u r b a n i z a t i o n >value</ u r b a n i z a t i o n >
< u r b a n i z a t i o n _ s i z e >256</ u r b a n i z a t i o n _ s i z e >
<address_one>value</address_one>
< a d d r e s s _ o n e _ s i z e >256</ a d d r e s s _ o n e _ s i z e >
<address_two>value</address_two>
< a d d r e s s _ t w o _ s i z e>256</a d d r e s s _ t w o _ s i z e>
< l a s t _ l i n e >value</ l a s t _ l i n e >
< l a s t _ l i n e _ s i z e >256</ l a s t _ l i n e _ s i z e >
</ i d s _ a d d r _ s t d >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_std_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<firm_name>value</firm_name>
< u r b a n i z a t i o n >value</ u r b a n i z a t i o n >
<address_one>value</address_one>
<address_two>value</address_two>
< l a s t _ l i n e >value</ l a s t _ l i n e >
</ i d s _ a d d r _ s t d _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
firm_name It contains the name of the firm (may be blank).
urbanization this field can contain name of an urban development within a geographic area. It is
only used with Puerto Rican addresses.
address_one this field contains the Delivery Address Line. It normally consists of a street number,
pre-directional, street name, street suffix, post-directional and possibly some secondary address components such as apartment number.
address_two this field contains additional Delivery Address Line components. It is normally only
used when address_one is very long.
last_line this field contains the Last Line information: the city name, state abbreviation and zip
code (and possibly the Zip + 4 code).
ids_addr_std

942

Return Code:
0 indicates an exact match to a valid address
1 indicates a no match (invalid address)
2 indicates a multi match (non-unique address), and
< 0 indicates an error

ids_addr_validate
Description:
Use this function to validate an address

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_validate
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ a d d r _ v a l i d a t e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_addr_validate_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s t a t u s >302</ s t a t u s >
<n_suggest>302</n_suggest>
</ i d s _ a d d r _ v a l i d a t e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
status The status returned by the validation process
n_suggest The number of suggestions generated by validation

Return Code:
negative for error, 0 for success
943

USING MDM-RE WITH XML

ids_connect
Description:
Initiates a socket.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_connect
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< h o s t>value</ h o s t>
< p o r t >301</ p o r t >
</ i d s _ c o n n e c t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_connect_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<sockh>302</sockh>
</ i d s _ c o n n e c t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
host is the host to connect to.
port is the port to connect to.
sockh is a socket handle.

Return Code:
negative for error, 0 for success

ids_disconnect
Description:
Releases resources allocated to a socket.
ids_connect

944

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_disconnect
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ d i s c o n n e c t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_disconnect_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ d i s c o n n e c t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none

Return Code:
negative for error, 0 for success

ids_error_get
Description:
Get the error messages from the last API function that failed. This function should be called repeatedly
until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for help in interpreting the Error Log.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
945

USING MDM-RE WITH XML

xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >


<soap:Body>
<ids_error_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<msg_size>256</msg_size>
</ i d s _ e r r o r _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_error_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<msg>value</msg>
</ i d s _ e r r o r _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
msg is the error message returned

Return Code:
0 for success, -ve for error and 1 for no more errors to retrieve.

ids_errors_get_all
Description:
Get the Server side error messages from the last API function that failed. This function should be called
repeatedly until it returns 1, meaning all messages have been retrieved.
Note: if a communication (socket) error occurred, this function will also fail. Refer to the
O PERATIONS M ANUAL, Error Log section for information on interpreting the Error Log.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_errors_get_all
ids_errors_get_all

946

xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >


< s e s s i o n >3436273</ s e s s i o n >
<msg_size>256</msg_size>
</ i d s _ e r r o r s _ g e t _ a l l >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_errors_get_all_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<msg>value</msg>
</ i d s _ e r r o r s _ g e t _ a l l _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
msg is an error message.

Return Code:
negative for error, 0 for success

ids_identify
Description:
Identify a session to the console

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_identify
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< i d e n t i f i c a t i o n >value</ i d e n t i f i c a t i o n >
</ i d s _ i d e n t i f y >
</soap:Body>
</soap:Envelope>

Output message:
947

USING MDM-RE WITH XML

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_identify_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ i d e n t i f y _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
identification is user supplied identitification for display on the console

Return Code:
negative for error, 0 for success

ids_is_little_endian
Description:
Checks if the search server is running on a little endian platform

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_is_little_endian
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ i s _ l i t t l e _ e n d i a n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_is_little_endian_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< e n d i a n _ s t a t e >302</ e n d i a n _ s t a t e >
</ i d s _ i s _ l i t t l e _ e n d i a n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
ids_is_little_endian

948

Parameters:
endian_state Returns 1 if the search server is running on a little endian platform. Returns 0 for
others

Return Code:
negative for error, 0 for success

ids_match_explain
Description:
Explains the match result given search and file records As match_explain_count does not give the exact
number of output rows for this call, but instead provides a maximal estimate, some of the info blocks
returned will be filled with NULL bytes. Test a block for validity by checking the first byte is not NULL.
Info blocks returned are not all the same length either. They are NULL filled on the right.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_match_explain
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
< m a t c h _ t o l e r a n c e >value</ m a t c h _ t o l e r a n c e >
< s e a r c h r e c >value</ s e a r c h r e c >
< s e a r c h r e c _ s i z e >50</ s e a r c h r e c _ s i z e >
< f i l e r e c >value</ f i l e r e c >
< f i l e r e c _ s i z e >50</ f i l e r e c _ s i z e >
<info_array_num>1</info_array_num>
< i n f o _ a r r a y _ s i z e >50</ i n f o _ a r r a y _ s i z e >
</ i d s _ m a t c h _ e x p l a i n>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_match_explain_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<info_arrayArray>
< i n f o _ a r r a y >value</ i n f o _ a r r a y >
</ i n f o _ a r r a y A r r a y >
949

USING MDM-RE WITH XML

</ i d s _ m a t c h _ e x p l a i n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search which was performed.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
searchrec is the IDT record used to search with. It is returned by the Search Server.
filerec is the record to be matched agains the searchrec
info_array An array describing the match results. See the Match Explain API section for details

Return Code:
negative for error, 0 for success

ids_match_explain_count
Description:
Estimate number of info blocks required for a subsequent match_explain call

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_match_explain_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
</i d s _ m a t c h _ e x p l a i n _ c o u n t>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_match_explain_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
</ i d s _ m a t c h _ e x p l a i n _ c o u n t _ r e s p o n s e>
</soap:Body>
</soap:Envelope>
ids_match_explain_count

950

Parameters:
search is the name of the Search which was performed.
count Returns the maximum number of info blocks required to explain the search results

Return Code:
negative for error, 0 for success

ids_pid_close
Description:
Closes resources opened with the ids_pid_open call.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_close
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p i d _ c l o s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_close_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p i d _ c l o s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none

Return Code:
negative for error, 0 for success
951

USING MDM-RE WITH XML

ids_pid_member_count
Description:
Retrieve the number of member records in a cluster

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_member_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< p r e f i x >value</ p r e f i x >
< p r e f i x _ s i z e >50</ p r e f i x _ s i z e >
<cluster_num>301</cluster_num>
</ids_pid_member_count>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_member_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
</ids_pid_member_count_response>
</soap:Body>
</soap:Envelope>

Parameters:
prefix is the persistent ID prefix for the cluster to look up.
cluster_num is the cluster number for the cluster to look up.
count the number of member records found for the cluster

Return Code:
negative for error, 0 for success

ids_pid_member_get
ids_pid_member_count

952

Description:
Called after ids_pid_member_count in a consecutive manner to retrieve the member records for a
cluster.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_member_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< p r e f i x >value</ p r e f i x >
< p r e f i x _ s i z e >50</ p r e f i x _ s i z e >
<cluster_num>301</cluster_num>
< r e c o r d _ s i z e >50</ r e c o r d _ s i z e >
</ids_pid_member_get>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_member_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< r e c o r d>value</ r e c o r d>
< r e c i d >302</ r e c i d >
</ids_pid_member_get_response>
</soap:Body>
</soap:Envelope>

Parameters:
prefix is the persistent ID prefix for the cluster.
cluster_num cluster_num is the cluster number for the cluster.
record the member record in IDT layout.
recid is rhe Rescord-Id for the member record (corresponding to the RECID column from the IDT)

Return Code:
negative for error, 0 for success, and 1 for "end of set".
953

USING MDM-RE WITH XML

ids_pid_open
Description:
Open resources for use with Persistent-ID.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_open
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< m u l t i _ s e a r c h >value</ m u l t i _ s e a r c h >
</ids_pid_open>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_open_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ids_pid_open_response>
</soap:Body>
</soap:Envelope>

Parameters:
multi_search is the name of a multi-search which uses Persistent-ID. This function requires a prior
call to ids_system_open.

Return Code:
negative for error, 0 for success

ids_pid_search_get
Description:
Retrieve Preferred records which are a good match for the search record specified in the
ids_search_start or ids_system_search_start function. This function will return extended
matching information, including the match decision and the file (IDT) record-ID of the matching
records.
ids_pid_open

954

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_search_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
< f i l e _ r e c _ s i z e >50</ f i l e _ r e c _ s i z e >
< d e c i s i o n _ s i z e >256</ d e c i s i o n _ s i z e >
</ i d s _ p i d _ s e a r c h _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_search_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i l e _ r e c >value</ f i l e _ r e c >
< s c o r e >302</ s c o r e >
< d e c i s i o n >value</ d e c i s i o n >
< f i l e _ r e c i d >302</ f i l e _ r e c i d >
< c l u s t e r _ c o u n t >302</ c l u s t e r _ c o u n t >
</ i d s _ p i d _ s e a r c h _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
cluster_count is the number of clusters asociated with the cluster.

Return Code:
negative for error, 0 for success, and 1 for "end of set".
955

USING MDM-RE WITH XML

ids_pid_search_get_clusters
Description:
May be called after each call to ids_pid_search_get to retrieve the clusters associated with the
preferred record.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_search_get_clusters
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
< f i l e _ r e c i d >301</ f i l e _ r e c i d >
<prefixs_num>1</prefixs_num>
< p r e f i x s _ s i z e >50</ p r e f i x s _ s i z e >
<cluster_nums_num>1</cluster_nums_num>
</ i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_search_get_clusters_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<prefixsArray>
< p r e f i x s >value</ p r e f i x s >
</ p r e f i x s A r r a y >
<cluster_numsArray>
<cluster_nums>301</cluster_nums>
</cluster_numsArray>
</ i d s _ p i d _ s e a r c h _ g e t _ c l u s t e r s _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search which was performed.
file_recid is the Preferred Record-ID (corresponding to the RECID column from the IDT).
prefixs is the prefix for the associated cluster
cluster_nums is the number for the asociated cluster
ids_pid_search_get_clusters

956

Return Code:
negative for error, 0 for success

ids_pid_src_pk_get
Description:
Get persistent ids one at a time

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_src_pk_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<src_pk_value_num>1</src_pk_value_num>
< s r c _ p k _ v a l u e _ s i z e >50</ s r c _ p k _ v a l u e _ s i z e >
</ i d s _ p i d _ s r c _ p k _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_src_pk_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<src_pk_valueArray>
< s r c _ p k _ v a l u e>value</s r c _ p k _ v a l u e>
</src_pk_valueArray>
</ i d s _ p i d _ s r c _ p k _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
src_pk_value the values of primary keys from the source table

Return Code:
negative for error, 0 for success
957

USING MDM-RE WITH XML

ids_pid_src_pk_start
Description:
Search for persistent ids

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_src_pk_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< m u l t i _ s e a r c h >value</ m u l t i _ s e a r c h >
<src_pkArray>
<src_pk>value</src_pk>
</src_pkArray>
<src_pk_num>1</src_pk_num>
< s r c _ p k _ s i z e >50</ s r c _ p k _ s i z e >
</ i d s _ p i d _ s r c _ p k _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_pid_src_pk_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p i d _ s r c _ p k _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
multi_search the name of the multi-search
src_pk the values of primary keys from the source table

Return Code:
negative for error, 0 for success

ids_ps_get_entity_list
Description:
Retrieves entity names supported by the current population
ids_pid_src_pk_start

958

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_get_entity_list
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<gross_names_num>1</gross_names_num>
<gross_names_size>256</gross_names_size>
<fine_names_num>1</fine_names_num>
< f i n e _ n a m e s _ s i z e >256</ f i n e _ n a m e s _ s i z e >
</ i d s _ p s _ g e t _ e n t i t y _ l i s t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_get_entity_list_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<gross_namesArray>
<gross_names>value</gross_names>
</gross_namesArray>
<fine_namesArray>
<fine_names>value</fine_names>
</fine_namesArray>
</ i d s _ p s _ g e t _ e n t i t y _ l i s t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
gross_names List of Gross entity names
fine_names List of Fine entity names

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_elements
Description:
Retrieves number of entity array elements
959

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_get_entity_max_elements
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<type>value</type>
</ i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_get_entity_max_elements_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<elements>302</elements>
</ i d s _ p s _ g e t _ e n t i t y _ m a x _ e l e m e n t s _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
elements maximum number of occurrences

Return Code:
negative for error, 0 for success

ids_ps_get_entity_max_length
Description:
Retrieves maximum length of an entity value

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
ids_ps_get_entity_max_length

960

<ids_ps_get_entity_max_length
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<type>value</type>
</ i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_get_entity_max_length_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< l e n g t h >302</ l e n g t h >
</ i d s _ p s _ g e t _ e n t i t y _ m a x _ l e n g t h _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
type Type of entity: Input, Gross, Fine, Standard, Format
length maximum length (bytes) of an entity value

Return Code:
negative for error, 0 for success

ids_ps_parse
Description:
Parse, Standardize and Format API

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_parse
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< o p e r a t i o n >value</ o p e r a t i o n >
<input>value</input>
< i n p u t _ s i z e >50</ i n p u t _ s i z e >
<grossArray>
961

USING MDM-RE WITH XML

< g r o s s >value</ g r o s s >


</grossArray>
<gross_num>1</gross_num>
< g r o s s _ s i z e >50</ g r o s s _ s i z e >
<fineArray>
< f i n e >value</ f i n e >
</ f i n e A r r a y >
<fine_num>1</fine_num>
< f i n e _ s i z e >50</ f i n e _ s i z e >
<standardArray>
<standard>value</standard>
</standardArray>
<standard_num>1</standard_num>
< s t a n d a r d _ s i z e >50</ s t a n d a r d _ s i z e >
<ps_format_num>1</ps_format_num>
< p s _ f o r m a t _ s i z e >50</ p s _ f o r m a t _ s i z e >
</ i d s _ p s _ p a r s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_parse_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<grossArray>
< g r o s s >value</ g r o s s >
</grossArray>
<fineArray>
< f i n e >value</ f i n e >
</ f i n e A r r a y >
<standardArray>
<standard>value</standard>
</standardArray>
<ps_formatArray>
<ps_format>value</ps_format>
</ps_formatArray>
</ i d s _ p s _ p a r s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
operation The operation(s) to perform: G, F, S, M
input Unparsed input string
gross Gross entities used as input or output
fine Fine entities used as input or output
standard Standardized entities used as input or output
ps_format Formatted output string
ids_ps_parse

962

Return Code:
negative for error, 0 for success

ids_ps_set_encoding
Description:
Defines encoding used for the input/output data

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_encoding
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<encoding>301</encoding>
</ i d s _ p s _ s e t _ e n c o d i n g >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_encoding_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p s _ s e t _ e n c o d i n g _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
encoding 0=Population default, 8=UTF-8, 16=UTF-16

Return Code:
negative for error, 0 for success

ids_ps_set_entity_list
Description:
Defines a subset of entities for input/output
963

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_entity_list
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<type>value</type>
<entity_listArray>
< e n t i t y _ l i s t >value</ e n t i t y _ l i s t >
</ e n t i t y _ l i s t A r r a y >
< e n t i t y _ l i s t _ n u m >1</ e n t i t y _ l i s t _ n u m >
</ i d s _ p s _ s e t _ e n t i t y _ l i s t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_entity_list_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p s _ s e t _ e n t i t y _ l i s t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
type Type of entity: Gross or Fine
entity_list List of entity names

Return Code:
negative for error, 0 for success

ids_ps_set_population
Description:
Defines the System and Population used for parsing rules

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>

ids_ps_set_population

964

<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_population
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<system>value</system>
<p o p u l a t i o n>value</p o p u l a t i o n>
</ i d s _ p s _ s e t _ p o p u l a t i o n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_ps_set_population_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ p s _ s e t _ p o p u l a t i o n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
system System Name
population Specifies a Population within the System

Return Code:
negative for error, 0 for success

ids_real_time_async_get
Description:
Used to retrieve the result count associated with a call to ids_real_time_async_start.
cluster_action_count specifies the number of results that are available for collection using
ids_real_time_sync_get.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_async_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
965

USING MDM-RE WITH XML

< s e s s i o n >3436273</ s e s s i o n >


< r e f e r e n c e >value</ r e f e r e n c e >
<b l o c k>301</b l o c k>
</ i d s _ r e a l _ t i m e _ a s y n c _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_async_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< c l u s t e r _ a c t i o n _ c o u n t >302</ c l u s t e r _ a c t i o n _ c o u n t >
</ i d s _ r e a l _ t i m e _ a s y n c _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
reference A
reference
number
ids_real_time_sync_start)

identifying

the

request

(returned

by

block 1 = wait for a response 0 = return immediately if no results are available yet
cluster_action_count The number of clusters generated These can be returned with call to
real_time_sync_get 1 = wait for a response

Return Code:
negative for error 0 for success positive for no results are available yet

ids_real_time_async_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works in an
asynchronous fashion and will return when the transaction has been placed on the servers work queue
rather than when the transaction has been processed. The record passed in must match the layout of
the IDT. This call must be followed by a call to ids_real_time_async_get, then by one or more
calls to ids_real_time_sync_get to retrieve the results.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
ids_real_time_async_start

966

<ids_real_time_async_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<system>value</system>
<IDT>value</IDT>
<sequence_number>value</sequence_number>
< o p e r a t i o n >value</ o p e r a t i o n >
< c l u s t e r _ r e c o r d >value</ c l u s t e r _ r e c o r d >
< c l u s t e r _ r e c o r d _ s i z e >50</ c l u s t e r _ r e c o r d _ s i z e >
<s o u r c e>301</s o u r c e>
< m u l t i _ s e a r c h >value</ m u l t i _ s e a r c h >
< i n p u t _ i d >301</ i n p u t _ i d >
< r e f e r e n c e _ s i z e >256</ r e f e r e n c e _ s i z e >
</ i d s _ r e a l _ t i m e _ a s y n c _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_async_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< r e f e r e n c e >value</ r e f e r e n c e >
</ i d s _ r e a l _ t i m e _ a s y n c _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
source Identifies the source of clustering: 0 = Real Time Synchronizer 1 = Flat file 2 = NSA table
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT/IDX only transaction.
input_id The cluster id or record id as appropriate
reference A reference string identifying the request.
ids_real_time_sync_get call when retrieving results.
967

USING MDM-RE WITH XML

This must be passed to the

Return Code:
negative for error
0 for success positive for warnings:
1-9 Reserved for future use
10 warnings: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warnings: Duplicate transaction was skipped.
12 warnings: Transaction was rejected because the sequence number was less than or equal to a previous transaction. The record was added to the reject table.

ids_real_time_flul_add
Description:
This API used to add force link and unlink rule.
ids_real_time_flul_init.

This call must be followed by

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_add
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e _ t y p e >value</ r u l e _ t y p e >
< s u b j e c t _ r e c _ p k >value</ s u b j e c t _ r e c _ p k >
< s u b j e c t _ r e c _ p k _ s i z e >50</ s u b j e c t _ r e c _ p k _ s i z e >
< r e l a t i o n s h i p >value</ r e l a t i o n s h i p >
< r e l a t e d _ r e c _ p k >value</ r e l a t e d _ r e c _ p k >
< r e l a t e d _ r e c _ p k _ s i z e >50</ r e l a t e d _ r e c _ p k _ s i z e >
</ i d s _ r e a l _ t i m e _ f l u l _ a d d >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_add_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ a d d _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
ids_real_time_flul_add

968

Parameters:
rule_type This field is for specifying the type of the rule. A value of A represents that the rule needs
to be added to the system and D represents that a rule needs to be removed from the system
subject_rec_pk This field is for specifying the PK of the subject record
relationship This field is for specifying the relationship between the subject record and related
record. A value of L represents a Link rule between the subject record and the related record and a
value of U represents an Unlink rule between the subject record and the related record.
related_rec_pk This field is for specifying the PK of the record that is either linked or unlinked to
the subject record.

Return Code:
negative for error, 0 for success 3 when the Link rule is not allowed. Record unlinked with members of
subject cluster.

ids_real_time_flul_close
Description:
This API used to close and release force link and unlink module.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_close
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ c l o s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_close_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ c l o s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none
969

USING MDM-RE WITH XML

Return Code:
negative for error, 0 for success

ids_real_time_flul_delete
Description:
This API used to delete force link and unlink rule from MR table. This call must be followed by
ids_real_time_flul_init.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_delete
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e _ t y p e _ o p t i o n >301</ r u l e _ t y p e _ o p t i o n >
<record_pk>value</record_pk>
< r e c o r d _ p k _ s i z e >50</ r e c o r d _ p k _ s i z e >
</ i d s _ r e a l _ t i m e _ f l u l _ d e l e t e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_delete_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ d e l e t e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rule_type_option

0 Delete only disabled rules for input pk.

1 Delete only active rules for input pk.


2 Delete all rules for input pk.
record_pk This field is for specifying the PK of the record to be deleted

Return Code:
negative for error, 0 for success
ids_real_time_flul_delete

970

ids_real_time_flul_find_rule
Description:
This API used to find link and unlink information for input IDT record. should be called after
ids_real_time_flul_init API.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_find_rule
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< i d t _ r e c >value</ i d t _ r e c >
< i d t _ r e c _ s i z e >50</ i d t _ r e c _ s i z e >
<o p t i o n>301</o p t i o n>
</ i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_find_rule_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ f i n d _ r u l e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
idt_rec This field is for specifying the PK of the record to be searched
option 0 Link Rule.
1 Unlink Rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_get_rule
Description:
This API used fetch link and unlink information for input IDT record.
ids_real_time_flul_find_rule API.
971

USING MDM-RE WITH XML

Should be called after

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_get_rule
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< i d t _ r e c _ s i z e >50</ i d t _ r e c _ s i z e >
</ i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_get_rule_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< i d t _ r e c >value</ i d t _ r e c >
</ i d s _ r e a l _ t i m e _ f l u l _ g e t _ r u l e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
idt_rec is the matched File record for input link or unlink rule.

Return Code:
negative for error, 0 for success

ids_real_time_flul_init
Description:
This API used to initialize force link and unlink module.
Memory allocated a part of
ids_real_time_flul_init is released using ids_real_time_flul_close.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_init
ids_real_time_flul_init

972

xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >


< s e s s i o n >3436273</ s e s s i o n >
<idt_name>value</idt_name>
< m u l t i _ s e a r c h >value</ m u l t i _ s e a r c h >
</ i d s _ r e a l _ t i m e _ f l u l _ i n i t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_flul_init_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ r e a l _ t i m e _ f l u l _ i n i t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
idt_name is the name of the IDT associated with the force link and unlink rule.
multi_search The name of the multi-search which uses Persistent-ID. This parameter should be set
to an empty string for an IDT only MR rule creation.

Return Code:
negative for error, 0 for success

ids_real_time_sync_get
Description:
Use to retrieve the results and free the resources associated with a call to
ids_real_time_sync_start or ids_real_time_async_start. Should be called until it
returns a non zero response.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_sync_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r e f e r e n c e >value</ r e f e r e n c e >
< c l u s t e r _ a c t i o n _ t y p e _ s i z e >256</ c l u s t e r _ a c t i o n _ t y p e _ s i z e >
973

USING MDM-RE WITH XML

< c l u s t e r _ a c t i o n _ i d _ s i z e >256</ c l u s t e r _ a c t i o n _ i d _ s i z e >


< c l u s t e r _ a c t i o n _ n e w _ s i z e >256</ c l u s t e r _ a c t i o n _ n e w _ s i z e >
</ i d s _ r e a l _ t i m e _ s y n c _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_sync_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< c l u s t e r _ a c t i o n _ t y p e >value</ c l u s t e r _ a c t i o n _ t y p e >
< c l u s t e r _ a c t i o n _ i d >value</ c l u s t e r _ a c t i o n _ i d >
< c l u s t e r _ a c t i o n _ n u m b e r >302</ c l u s t e r _ a c t i o n _ n u m b e r >
< c l u s t e r _ a c t i o n _ n e w >value</ c l u s t e r _ a c t i o n _ n e w >
</ i d s _ r e a l _ t i m e _ s y n c _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.

This must be passed to the

cluster_action_type Identifies the action, ie add or delete


cluster_action_id The prefix which identifies the cluster
cluster_action_number The number which identifies the cluster
cluster_action_new Identifies whether the cluster is newly formed or existing

Return Code:
negative for error, 0 for success, 1 for end of results

ids_real_time_sync_start
Description:
Used to start a synchronizer transaction of the Real Time Synchronization server. This call works
in a synchronous fashion returning only when the transaction has been processed. The record
passed in must match the layout of the IDT. This call must be followed by one or more calls to
ids_real_time_sync_get to retrieve results.

Input message:
ids_real_time_sync_start

974

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_sync_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<system>value</system>
<IDT>value</IDT>
<sequence_number>value</sequence_number>
< o p e r a t i o n >value</ o p e r a t i o n >
< c l u s t e r _ r e c o r d >value</ c l u s t e r _ r e c o r d >
< c l u s t e r _ r e c o r d _ s i z e >50</ c l u s t e r _ r e c o r d _ s i z e >
< r e f e r e n c e _ s i z e >256</ r e f e r e n c e _ s i z e >
</ i d s _ r e a l _ t i m e _ s y n c _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_real_time_sync_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< c l u s t e r _ a c t i o n _ c o u n t >302</ c l u s t e r _ a c t i o n _ c o u n t >
< r e f e r e n c e >value</ r e f e r e n c e >
</ i d s _ r e a l _ t i m e _ s y n c _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
IDT is the name of the IDT associated with the update.
sequence_number is a string that specifies the order of synchronization. Must obey the rules for
sequence numbers found in the O PERATIONS M ANUAL.
operation The synchronizer operation being performed: A for add or D for delete
cluster_record The record to be updated. The record must use the same layout as the IDT.
cluster_action_count The number of clusters generated. For IDT/IDX only processing this parameter will always be 0. These can be returned with ids_real_time_sync_get
reference A reference string identifying the request.
ids_real_time_sync_get call when retriving results.
975

USING MDM-RE WITH XML

This must be passed to the

Return Code:
negative for error
0 for success, and postive for warnings:
1-9 Reserved for future use
10 warning: Duplicate PK detected on add to IDT with WARN_DUPLICATE_PK sync option.
11 warning: Transaction was skipped.
12 warning: Transaction was reject because the sequence number was lessa than or equal to a previous
transaction. The record was added to the reject table.
13 warning: Transaction became a No Op. e.g. Add followed by delete in the same commit cycle
equates to do nothing.
14 warning: Force server shutdown in progress.
15 warning: Could not perform delete as the IDT record was not found. This will normally trigger
error unless the appropriate option is set in the syncronization server configuration.

ids_scores_get
Description:
Retrieve an array of scores, one per match record. This API is used in conjunction with ids_search_start
when candidate records to be matched are provided by the caller. The records and their scores may be
retrieved either by repeatedly calling ids_search_get or by calling this function to retrieve all scores at
once. A limit of 1024 scores may be returned in a single call. When using this function, please ensure
that an Accept limit of 0 has been specified (so that all candidates are returned regardless of their score),
and specify a SORT= parameter in the Search-Definition to ensure that the records remain in the same
order as passed otherwise they will be sorted by descending score. This is perhaps best achieved by
inserting a record number in each row and sorting by that field. The size of the scores array must be
equal to the number of input records to be matched, and may not exceed 1024.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_scores_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<scores_num>1</scores_num>
</ i d s _ s c o r e s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
ids_scores_get

976

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_scores_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<scoresArray>
< s c o r e s >301</ s c o r e s >
</ s c o r e s A r r a y >
</ i d s _ s c o r e s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name of the associated search
scores is an array of scores, one per candidate record

Return Code:
negative for error, 0 for success

ids_search_comment_get
Description:
Returns the user defined comment stored with the search.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_comment_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<comment_size>256</comment_size>
</ids_search_comment_get>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
977

USING MDM-RE WITH XML

<soap:Body>
<ids_search_comment_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<comment>value</comment>
</ids_search_comment_get_response>
</soap:Body>
</soap:Envelope>

Parameters:
searchname the search to count.
comment is the area to copy the string containing the comment. This string will be null-terminated.

Return Code:
negative for error, 0 for success

ids_search_dedupe_start
Description:
Search for duplicate records in the IDT. Refer to the Dup Finder section in this manual for details.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_dedupe_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
<search_width>value</search_width>
< m a t c h _ t o l e r a n c e >value</ m a t c h _ t o l e r a n c e >
<parametersArray>
<parameters>value</parameters>
</parametersArray>
<parameters_num>1</parameters_num>
< p a r a m e t e r s _ s i z e >50</ p a r a m e t e r s _ s i z e >
< s e a r c h r e c >value</ s e a r c h r e c >
< s e a r c h r e c _ s i z e >50</ s e a r c h r e c _ s i z e >
<AnswersetName>value</AnswersetName>
< f l a g s >301</ f l a g s >
< r e c i d >303</ r e c i d >
< r e c s >303</ r e c s >
</ i d s _ s e a r c h _ d e d u p e _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
ids_search_dedupe_start

978

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_dedupe_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h r e c >value</ s e a r c h r e c >
< r e c i d >303</ r e c i d >
< r e c s >303</ r e c s >
</ i d s _ s e a r c h _ d e d u p e _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the search that is to be performed.
search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates.
parameters not used.
searchrec is the IDT record used to search with. It is returned by the Search Server.
AnswersetName is used store the search results in an AnswerSet. The Answerset is used to identify
the Search results in the table and is constructed by concatenating the AnswersetName parameter with
the Search-Record-Id (10 bytes) . The maximum AnswersetName length is 22 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
flags flags for specifying options. This field is a bit-field. Valid values are: 2 = return search record
only. 4=remove search record from returned set.
recid the recid of the record to start a searching on. A value of 0 starts searching from the beginning
of the IDT. The returned value is the recid of the next record to be searched.
recs the number of records in the search set.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set.

ids_search_fields_count
Description:
Gets the number of fields required to assemble the search record.
979

USING MDM-RE WITH XML

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_fields_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
</ i d s _ s e a r c h _ f i e l d s _ c o u n t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_fields_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f c >302</ f c >
</ i d s _ s e a r c h _ f i e l d s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname the search to count.
fc is the number of fields required to be filled in to assemble the search.

Return Code:
negative for error, 0 for success

ids_search_fields_get
Description:
Gets the number of fields required to assemble the search record.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
ids_search_fields_get

980

<ids_search_fields_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<fieldnames_num>1</fieldnames_num>
< f i e l d n a m e s _ s i z e >256</ f i e l d n a m e s _ s i z e >
</ i d s _ s e a r c h _ f i e l d s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_fields_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<fieldnamesArray>
<f i e l d n a m e s>value</f i e l d n a m e s>
</fieldnamesArray>
</ i d s _ s e a r c h _ f i e l d s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname the search to count.
fieldnames is the array returned which will contain the name of the fields.

Return Code:
negative for error, 0 for success

ids_search_filter
Description:
Sets a dynamic SQL filter to be used by a search. Refere to the SQL Filters section of the D ESIGNER
M ANUAL for details about SQL filters

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_filter
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
981

USING MDM-RE WITH XML

< s e s s i o n >3436273</ s e s s i o n >


< s e a r c h >value</ s e a r c h >
< f i l t e r >value</ f i l t e r >
</ i d s _ s e a r c h _ f i l t e r >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_filter_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e a r c h _ f i l t e r _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search that will use the filter
filter is a string containing an SQL expression or values for substituion variables

Return Code:
negative for error, 0 for success

ids_search_finish
Description:
Release resources associated with ids_search_start.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_finish
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
</ i d s _ s e a r c h _ f i n i s h >
</soap:Body>
</soap:Envelope>

Output message:
ids_search_finish

982

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_finish_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e a r c h _ f i n i s h _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the search that was performed

Return Code:
negative for error, 0 for success

ids_search_get
Description:
Retrieve file records that are a good match for the search record specified in the ids_search_start
or ids_system_search_start function.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
< s e a r c h r e t u r n _ s i z e >50</ s e a r c h r e t u r n _ s i z e >
<sreps_num>1</sreps_num>
<freps_num>1</freps_num>
</ i d s _ s e a r c h _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get_response
983

USING MDM-RE WITH XML

xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >


<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h r e t u r n >value</ s e a r c h r e t u r n >
< s c o r e >302</ s c o r e >
<srepsArray>
< s r e p s >301</ s r e p s >
</srepsArray>
< f r e p s A r r a y>
< f r e p s >301</ f r e p s >
</ f r e p s A r r a y>
</ i d s _ s e a r c h _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name the search to used by the call.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
sreps is an array of the ordinal values of the repeating fields in the search record that were used in
the match.
Note: sreps and freps are only meaningful when using SSA-NAME3 v1, the SEQUENCES
option has been set in the Search-Definition, and the search and file records contain repeating
groups

freps is an array of the ordinal values of the repeating fields in the file record that were used in the
match.
For example, a record structure with a repeating name (2 fields) and a repeating address (2
fields) , if the first name field in the search record matched the second name field in the file
record while the first address field of the source matched the first address field of the file; the
contents of these two arrays would be; sreps[0] = 0, srep[1] = 0, freps[0] = 1, frep[1] = 0

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_get_complete
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information
in the info field as long as the Search-Definition specifies the SEQUENCES option, and SSA-NAME3
v1 is used.
ids_search_get_complete

984

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get_complete
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
< s e a r c h r e t u r n _ s i z e >50</ s e a r c h r e t u r n _ s i z e >
< i n f o _ s i z e >50</ i n f o _ s i z e >
</ i d s _ s e a r c h _ g e t _ c o m p l e t e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get_complete_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h r e t u r n >value</ s e a r c h r e t u r n >
< s c o r e >302</ s c o r e >
< i n f o >value</ i n f o >
</ i d s _ s e a r c h _ g e t _ c o m p l e t e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the search which was performed.
searchreturn is an area into which a string from the set is copied.
score is the score calculated for the string.
info an encoded list of values used to determine which occurrence of a repeating field matched the
value in the search record. The info field has a length of 4*(1+3*100) bytes. It contains 4 groups, each
one representing the result from one of the four possible scoring phases: Key-Pre-Score, Key-Score,
Pre-Score and Score respectively. If a phase was used, its data starts with a 1, otherwise 0 if the phase
was not used. The indicator is followed by 100 three-digit numbers, one each for each method in the
scoring-scheme for this phase, up to a limit of 100 methods per scheme (scoring phase). The three-digit
number is an index (base 1) representing the occurrence in the file record that was the best match for
the data in the search record.

Return Code:
negative for error, 0 for success, and 1 for "end of set".
985

USING MDM-RE WITH XML

ids_search_get_detail
Description:
Retrieve file records which are a good match for the search record specified in the ids_search_start
or ids_system_search_start function. This function will return extended matching information,
including the match decision and the file (IDT) record-ID of the matching records.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get_detail
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
< f i l e _ r e c _ s i z e >50</ f i l e _ r e c _ s i z e >
< d e c i s i o n _ s i z e >256</ d e c i s i o n _ s i z e >
</ i d s _ s e a r c h _ g e t _ d e t a i l >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_get_detail_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< f i l e _ r e c >value</ f i l e _ r e c >
< s c o r e >302</ s c o r e >
< d e c i s i o n >value</ d e c i s i o n >
< f i l e _ r e c i d >302</ f i l e _ r e c i d >
</ i d s _ s e a r c h _ g e t _ d e t a i l _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search which was performed.
file_rec is the matched File record.
score is the degree of similarity between the Search and File records (0-100).
decision is the match decision: A(ccept) or U(ndecided)
file_recid is the File Record-ID (corresponding to the RECID column from the IDT).
ids_search_get_detail

986

Return Code:
negative for error, 0 for success, and 1 for "end of set".

ids_search_IDT_get
Description:
Gets the name of the IDT associated with the search.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_IDT_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<IDT_size>256</IDT_size>
</ i d s _ s e a r c h _ I D T _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_IDT_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<IDT>value</IDT>
</ i d s _ s e a r c h _ I D T _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name the search to used by the call.
IDT is the area into which the IDT name will be copied

Return Code:
negative for error, 0 for success
987

USING MDM-RE WITH XML

ids_search_layout
Description:
Get the names and descriptions of the fields in the current input or output view. If no view has been
defined, the IDT layout will be returned.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_layout
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
<viewType>value</viewType>
<func>value</func>
<names_num>1</names_num>
<names_size>256</names_size>
<lengths_num>1</lengths_num>
<offsets_num>1</offsets_num>
<repeats_num>1</repeats_num>
<formats_num>1</formats_num>
< f o r m a t s _ s i z e >256</ f o r m a t s _ s i z e >
</ i d s _ s e a r c h _ l a y o u t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_layout_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<namesArray>
<names>value</names>
</namesArray>
< l e n g t h s A r r a y>
< l e n g t h s >301</ l e n g t h s >
</l e n g t h s A r r a y>
<offsetsArray>
< o f f s e t s >301</ o f f s e t s >
</ o f f s e t s A r r a y >
<repeatsArray>
< r e p e a t s >301</ r e p e a t s >
</ r e p e a t s A r r a y >
<formatsArray>
<formats>value</formats>
</formatsArray>
</ i d s _ s e a r c h _ l a y o u t _ r e s p o n s e >
ids_search_layout

988

</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search which was performed.
viewType the type of view: input or output.
func describes the order of fields.
names is the area into which an array containing the fieldnames will be copied.
lengths is the area into which an array containing the lengths of the fields will be copied.
offsets is the area into which an array containing the offsets of the fields will be copied.
repeats is the area into which an array containing the number of repeats in a field will be copied.
formats is the area into which an array containing the format a field will be copied. The format of a
fields is a 50 character string in the following format:
Character 0:

Justification (Left or Right)

Character 1:

Compression (Fixed, Variable or Long)

Characters2 - 3:

Fill (2 characters containing the fill character in hexadecimal)

Character 4:

Fill type (Text or Binary)

Characters 5 - 6:

Base (2 characters containing the base in decimal)

Character 7:

Format (Text, Numeric, Variable or Binary)

Character 8 - 9:

Reserved

Characters 10 - 11:

Binary key number (2 hexadecimal digits)

Character 12:

Character width (Wide, Narrow)

Characters 13 - 50:

Reserved

Note: It is recommended that the FORMATS_SIZE constant be used to prevent errors from
undersized strings.

Return Code:
negative for error, 0 for success

ids_search_start
Description:
Performs a search using a pre-constructed search-record (searchrec). Alternatively you can supply
fields (parameters) and have ids_search_start construct the record. The order of the field values
in parameters should be the same as that returned by ids_search_fields_get. You can either search the
database or search against a supplied list of records (records). There is a limit of 64K bytes of data that
can be sent to the Server. If the supplied list of records is too large, split it into smaller groups and make
multiple calls.
989

USING MDM-RE WITH XML

Note: The first search for a given System incurs an additional overhead to allocate database
resources and access the Rulebase. Switching between searches on a particular connection
is equivalent to starting a new search and therefore incurs some overhead. Applications requiring the best possible search performance should be designed to avoid switching between
searches. The easiest way to do this is to use separate (dedicated) connections for each Search.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
<search_width>value</search_width>
< m a t c h _ t o l e r a n c e >value</ m a t c h _ t o l e r a n c e >
<parametersArray>
<parameters>value</parameters>
</parametersArray>
<parameters_num>1</parameters_num>
< p a r a m e t e r s _ s i z e >50</ p a r a m e t e r s _ s i z e >
< s e a r c h r e c >value</ s e a r c h r e c >
< s e a r c h r e c _ s i z e >50</ s e a r c h r e c _ s i z e >
<AnswersetName>value</AnswersetName>
<recordsArray>
< r e c o r d s >value</ r e c o r d s >
</recordsArray>
<records_num>1</records_num>
< r e c o r d s _ s i z e >50</ r e c o r d s _ s i z e >
</ i d s _ s e a r c h _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h r e c >value</ s e a r c h r e c >
< r e c s >302</ r e c s >
</ i d s _ s e a r c h _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the search to be performed.
ids_search_start

990

search_width specifies either Narrow, Typical or Exhaustive to nominate how many candidates should be selected. If left blank, the Search_Level in the Controls will be used.
match_tolerance specifies either Conservative, Typical or Loose to nominate how aggressive
the matching scheme should be in rejecting candidates. If left blank, the Match_Level in the Controls
will be used.
parameters contains the field values used to construct a search record (searchrec). The order
of the field values must correspond to the order of fields returned by ids_search_fields_get. If
insufficient fields are supplied, the remaining fields in the constructed search record will be blank filled.
searchrec is the record that we will search on (in IDT format, or the input view if specified). If
searchrec is specified it will be used to search (provided no parameters are supplied). Alternatively if parameters are specified then the search will be on a record constructed on those parameters
and returned to the user.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
recs number of records that matched the search criteria. The count reflects the number of records
prior to sorting the result set. If the sort uses the Unique_Keys option to remove duplicates, the
resulting set may contain less than recs records. In this case, you must use the response code from
ids_search_get to determine when the end of set has been reached.
records contains a list of records to search on. If you wish to search on the database then specify this
as containing 0 records.

Return Code:
negative for error, 0 for success, and 1 for truncation of the search set, and 2 for exceeding
SEARCH_LIMIT

ids_search_tolerances_count
Description:
Returns the match tolerances count that have for the search. The match tolerance defines how aggressively the matching scheme should be in rejecting candidates.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_tolerances_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
</ i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t >
</soap:Body>
</soap:Envelope>
991

USING MDM-RE WITH XML

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_tolerances_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
</ i d s _ s e a r c h _ t o l e r a n c e s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_tolerances_get
Description:
Returns the match tolerances that have been defined for the search. The match tolerance defines how
aggressively the matching scheme should be in rejecting candidates.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_tolerances_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<tolerances_num>1</tolerances_num>
< t o l e r a n c e s _ s i z e >256</ t o l e r a n c e s _ s i z e >
</ i d s _ s e a r c h _ t o l e r a n c e s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>

ids_search_tolerances_get

992

<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_tolerances_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<tolerancesArray>
< t o l e r a n c e s >value</ t o l e r a n c e s >
</ t o l e r a n c e s A r r a y >
</ i d s _ s e a r c h _ t o l e r a n c e s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname the search to count.
tolerances is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_search_view_get
Description:
Returns the name of the current input or output view, together with information about the
view: view_field_count is needed to dynamically allocate the arrays used for calls to
ids_search_layout and view_length is used to dynamically allocate memory for input/output
records.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_view_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
<viewType>value</viewType>
<viewName_size>256</viewName_size>
</ i d s _ s e a r c h _ v i e w _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>

993

USING MDM-RE WITH XML

<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_view_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<viewName>value</viewName>
<viewFieldCount>302</viewFieldCount>
<viewRecLen>302</viewRecLen>
</ i d s _ s e a r c h _ v i e w _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName is the name of the view to query
viewFieldCount the number of fields in the view
viewRecLen is the length of the view

Return Code:
negative for error, 0 for success

ids_search_view_set
Description:
Sets a view as the active input or output view

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_view_set
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h >value</ s e a r c h >
<viewType>value</viewType>
<viewName>value</viewName>
</ i d s _ s e a r c h _ v i e w _ s e t >
</soap:Body>
</soap:Envelope>

Output message:
ids_search_view_set

994

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_view_set_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e a r c h _ v i e w _ s e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
search is the name of the Search
viewType the type of the view (input or output)
viewName the name of the view to use

Return Code:
negative for error, 0 for success

ids_search_widths_count
Description:
Returns the count of search widths that have been defined for the search. The search width defines how
many items are selected by the search

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_widths_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
</ i d s _ s e a r c h _ w i d t h s _ c o u n t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
995

USING MDM-RE WITH XML

<ids_search_widths_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<count>302</count>
</ i d s _ s e a r c h _ w i d t h s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name the search to used by the call.
count is the number of widths for the search by the call.

Return Code:
negative for error, 0 for success

ids_search_widths_get
Description:
Returns the search widths that have been defined for the search. The search width defines how many
items are selected by the search

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_widths_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searchname>value</searchname>
<widths_num>1</widths_num>
< w i d t h s _ s i z e >256</ w i d t h s _ s i z e >
</ i d s _ s e a r c h _ w i d t h s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_search_widths_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
ids_search_widths_get

996

<widthsArray>
<widths>value</widths>
</widthsArray>
</ i d s _ s e a r c h _ w i d t h s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchname is the name the search to used by the call.
widths is the list of null terminated strings returned by the call.

Return Code:
negative for error, 0 for success

ids_server_version_get
Description:
Get the version information associated with the server.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_server_version_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< s e r v e r _ v e r s i o n _ s i z e >256</ s e r v e r _ v e r s i o n _ s i z e >
</ i d s _ s e r v e r _ v e r s i o n _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_server_version_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e r v e r _ v e r s i o n >value</ s e r v e r _ v e r s i o n >
</ i d s _ s e r v e r _ v e r s i o n _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
server_version is the area into which the string containing the version information will be copied.
997

USING MDM-RE WITH XML

Return Code:
negative for error, 0 for success

ids_session_close
Description:
Closes the session currently allocated. This will cause the databases kept open by the connection server
to close and prevent the reuse of the session by subsequent calls by ids_session_open.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_session_close
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e s s i o n _ c l o s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_session_close_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e s s i o n _ c l o s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none

Return Code:
negative for error, 0 for success

ids_session_open
ids_session_close

998

Description:
Allocates resources for a socket. This is an API to the IDS Connection Server. The IDS Connection
Server sits between the client and the IDS Search Server. A session prevents the IDS Search Server
from reopening databases by keeping the databases open between connections. A timeout value can be
specified when starting the IDS Connection Server. If the session has not been reused or closed before
the timeout period it will be closed automatically.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_session_open
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >1</ s e s s i o n >
</ i d s _ s e s s i o n _ o p e n >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_session_open_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >303</ s e s s i o n >
</ i d s _ s e s s i o n _ o p e n _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
session is the number of the session to open (-1 for a new session).

Return Code:
negative for error, 0 for success

ids_set_encoding
Description:
Informs the Search Server of the encoding used for fields of type W (UNICODE data). ISS stores and
retrieves W fields using an UTF-16 encoding. Search records should use this encoding for W columns
if possible. If they do not, the caller must use this API to inform the Search Server of the alternate
encoding used so that the Server can convert the data prior to using it. The W fields in each record of
999

USING MDM-RE WITH XML

the result set will be converted (if necessary) to the callers encoding prior to return. If no encoding is
specified, ISS assumes that the search data matches the file data and no conversion is performed. Refer
to the Globalization section of the O PERATIONS manual for further details and restrictions.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_set_encoding
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<encoding>301</encoding>
</ i d s _ s e t _ e n c o d i n g >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_set_encoding_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e t _ e n c o d i n g _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
encoding 6=UTF-16/UCS-2 (LE), 7=UTF-16/UCS-2 (BE), 8=UTF-8, 4=UCS-4

Return Code:
negative for error, 0 for success

ids_set_vpd_user
Description:
Provides the Search Server with information required to set a Virtual Private Database context. Refer
to the D ESIGNER M ANUAL, VPD section for details about VPD.

Input message:
ids_set_vpd_user

1000

<?xml v e r s i o n= " 1 . 0 " ?>


<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_set_vpd_user
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<vpd_user>value</vpd_user>
<vpd_ctx>value</vpd_ctx>
</ i d s _ s e t _ v p d _ u s e r >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_set_vpd_user_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s e t _ v p d _ u s e r _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
vpd_user Connection string of the actual user
vpd_ctx the name of the PL/SQL context setting package

Return Code:
negative for error, 0 for success

ids_system_close
Description:
closes the system and frees any remaining resources.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_close
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
1001

USING MDM-RE WITH XML

< s e s s i o n >3436273</ s e s s i o n >


</ i d s _ s y s t e m _ c l o s e >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_close_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ c l o s e _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none

Return Code:
negative for error, 0 for success

ids_system_idtname_count
Description:
Returns the number of active idt names. (i.e. those whose IDT has been loaded).

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_idtname_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ids_system_idtname_count>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
ids_system_idtname_count

1002

<soap:Body>
<ids_system_idtname_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< i d t c o u n t >302</ i d t c o u n t >
</ids_system_idtname_count_response>
</soap:Body>
</soap:Envelope>

Parameters:
idtcount is the number of idtnames defined on the system

Return Code:
negative for error, 0 for success

ids_system_idtname_get
Description:
Get the names of all IDTs that are active. (i.e. those whose IDT has been loaded).

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_idtname_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<idtnames_num>1</idtnames_num>
< i d t n a m e s _ s i z e >256</ i d t n a m e s _ s i z e >
</ids_system_idtname_get>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<id s_ s ys te m _i dt n am e_ g et _r e sp on s e
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<idtnamesArray>
<idtnames>value</idtnames>
</idtnamesArray>
1003

USING MDM-RE WITH XML

</id s_ s ys te m _i dt n am e_ g et _r e sp on s e>
</soap:Body>
</soap:Envelope>

Parameters:
idtnames is the area into which an array of the idtnames defined on the rulebase will be copied (the
idtnames are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_system_notify
Description:
Notifies search server on a system.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_notify
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<sysname>value</sysname>
<message>value</message>
</ i d s _ s y s t e m _ n o t i f y >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_notify_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ n o t i f y _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
ids_system_notify

1004

sysname is the name of the system


message is a messagevto be delivered

Return Code:
negative for error, 0 for success

ids_system_open
Description:
opens a system.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_open
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<system>value</system>
< v e r b o s i t y >value</ v e r b o s i t y >
<Options>value</Options>
</ids_system_open>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_open_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ids_system_open_response>
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
system The name of the system in the rulebase
verbosity specifies the verbosity level. See the Verbosity section for details.
1005

USING MDM-RE WITH XML

Options

LOGOUT filename for server output for this session.

LOGERR filename for server errors for this session.


LOGTEST filename for server search trace for this session.
SHOWALLSEARCHES modifies the behavior of
WORKDIR used to inform the search server as to which directory is to be used as the working directory for this session.

Return Code:
negative for error, 0 for success

ids_system_pid_searches_count
Description:
Gets the number of persistent ID based multi-searches defined on a system.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_pid_searches_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_pid_searches_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h c o u n t >302</ s e a r c h c o u n t >
</ i d s _ s y s t e m _ p i d _ s e a r c h e s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchcount is the number of persistent ID based multi-searches defined on a system
ids_system_pid_searches_count

1006

Return Code:
negative for error, 0 for success

ids_system_pid_searches_get
Description:
Get the names of all persistent ID based multi-searches defined in the system

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_pid_searches_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searches_num>1</searches_num>
< s e a r c h e s _ s i z e >256</ s e a r c h e s _ s i z e >
<pid_prefix_num>1</pid_prefix_num>
< p i d _ p r e f i x _ s i z e >50</ p i d _ p r e f i x _ s i z e >
<pid_opts_num>1</pid_opts_num>
<pref_rec_opts_num>1</pref_rec_opts_num>
</ i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_pid_searches_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h e s A r r a y>
< s e a r c h e s >value</ s e a r c h e s >
</s e a r c h e s A r r a y>
<pid_prefixArray>
< p i d _ p r e f i x >value</ p i d _ p r e f i x >
</ p i d _ p r e f i x A r r a y >
<pid_optsArray>
<pid_opts>301</pid_opts>
</pid_optsArray>
<pref_rec_optsArray>
< p r e f _ r e c _ o p t s >301</ p r e f _ r e c _ o p t s >
</ p r e f _ r e c _ o p t s A r r a y >
</ i d s _ s y s t e m _ p i d _ s e a r c h e s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
1007

USING MDM-RE WITH XML

Parameters:
searches is the area into which an array of the persistent ID based multi-searches defined on the
rulebase will be copied (the searches are all null terminated strings).
pid_prefix the area in which the Persistent ID prefix for the searches will be copied
pid_opts the area into which an array containing the Persistent_ID options for each search will be
copied
pref_rec_opts the area into which an array containing the options for the preferred record generation for each search will be copied

Return Code:
negative for error, 0 for success

ids_system_search_finish
Description:
Finishes the search and closes the system.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_search_finish
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ s e a r c h _ f i n i s h >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_search_finish_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ s e a r c h _ f i n i s h _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
none
ids_system_search_finish

1008

Return Code:
negative for error, 0 for success

ids_system_search_start
Description:
Opens a system and constructs and initialises a search using the fields passed to it in parameters. Refer
to ids_search_start for a more detailed description of the parameters.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_search_start
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<system>value</system>
< v e r b o s i t y >value</ v e r b o s i t y >
< o p t i o n s >value</ o p t i o n s >
< s e a r c h >value</ s e a r c h >
<parametersArray>
<parameters>value</parameters>
</parametersArray>
<parameters_num>1</parameters_num>
< p a r a m e t e r s _ s i z e >50</ p a r a m e t e r s _ s i z e >
<AnswersetName>value</AnswersetName>
</ i d s _ s y s t e m _ s e a r c h _ s t a r t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_search_start_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< d a t a l e n >302</ d a t a l e n >
< r e c s >302</ r e c s >
</ i d s _ s y s t e m _ s e a r c h _ s t a r t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
1009

USING MDM-RE WITH XML

system The name of the system in the rulebase


verbosity specifies the verbosity level. See the Verbosity section for details.
options consists of one or more keywords and their respective values in the form
KEYWORD1=VALUE1,KEYWORD2=VALUE2,
search is the name of the search in the system in the Rulebase that will be used.
parameters is the array which contains the field values to be used to construct the search.
AnswersetName is used store the search results in an AnswerSet. AnswersetName is used to identify
the Search results in the table. The maximum AnswersetName length is 32 characters. If you do not
wish to store the search results in an AnswerSet, set AnswersetName to an empty String.
datalen will return the length of a record.
recs count of records that matched the search criteria

Return Code:
negative for error, 0 for success

ids_system_searches_count
Description:
Returns the number of runnable searches. (i.e. those whose IDX has been loaded). To return the number
of defined searches, add the SHOWALLSEARCHES keyword to the option string of ids_system_open.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_searches_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
</ i d s _ s y s t e m _ s e a r c h e s _ c o u n t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_searches_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
ids_system_searches_count

1010

< s e a r c h c o u n t >302</ s e a r c h c o u n t >


</ i d s _ s y s t e m _ s e a r c h e s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
searchcount is the number of searches defined on the system

Return Code:
negative for error, 0 for success

ids_system_searches_get
Description:
Get the names of all searches that are runnable. (i.e. those whose IDX has been loaded). To return the names of all defined searches, add the SHOWALLSEARCHES keyword to the option string of
ids_system_open.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_searches_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
<searches_num>1</searches_num>
< s e a r c h e s _ s i z e >256</ s e a r c h e s _ s i z e >
</ i d s _ s y s t e m _ s e a r c h e s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_system_searches_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
< s e a r c h e s A r r a y>
< s e a r c h e s >value</ s e a r c h e s >
</s e a r c h e s A r r a y>
</ i d s _ s y s t e m _ s e a r c h e s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>
1011

USING MDM-RE WITH XML

Parameters:
searches is the area into which an array of the searches defined on the rulebase will be copied (the
searches are all null terminated strings).

Return Code:
negative for error, 0 for success

ids_systems_count
Description:
the number of systems in the rulebase.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_systems_count
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
</i d s _ s y s t e m s _ c o u n t>
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_systems_count_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<systemscount>302</systemscount>
</ i d s _ s y s t e m s _ c o u n t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
systemscount the number of systems in the rulebase.

Return Code:
negative for error, 0 for success
ids_systems_count

1012

ids_systems_get
Description:
Get the names of all the systems defined in the rulebase.

Input message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_systems_get
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
< s e s s i o n >3436273</ s e s s i o n >
< r u l e b a s e >value</ r u l e b a s e >
<systems_num>1</systems_num>
< s y s t e m s _ s i z e >256</ s y s t e m s _ s i z e >
</ i d s _ s y s t e m s _ g e t >
</soap:Body>
</soap:Envelope>

Output message:
<?xml v e r s i o n= " 1 . 0 " ?>
<soap:Envelope
xmlns:soap= " h t t p : //schemas . xmlsoap . org/soap/envelope/ " >
<soap:Body>
<ids_systems_get_response
xmlns= " h t t p : //www. i d e n t i t y s y s t e m s . com/xmlschema/ i s s v e r s i o n 8" >
<response>0</response>
< s e s s i o n >3436273</ s e s s i o n >
<systemsArray>
<systems>value</systems>
</systemsArray>
</ i d s _ s y s t e m s _ g e t _ r e s p o n s e >
</soap:Body>
</soap:Envelope>

Parameters:
rulebase is the name of the rulebase.
systems is the area into which an array of the systems defined in the rulebase will be copied (the
systems are all null terminated strings).

Return Code:
negative for error, 0 for success

1013

USING MDM-RE WITH XML

Common Parameters
The following are the main input parameters used in the API function calls:

Verbosity
Some API functions must specify a verbosity level. The verbosity determines the amount of statistical
information that will be written to the server log files. It is primarily used when tuning a search. Valid
values are -v[verbosity options].
Where verbosity options is a string consisting of one or more of the following characters:
0 (zero) turn off all verbosity
s search statistics
u database usage statistics
i info (used currently only by updsync)

1014

Address Standardization
The Address Standardization APIs are used to parse addresses into their components fields and to
validate them against postal reference databases. They can only be used successfully if the separately
licensable Address Standardization Module has been installed.
This section of the documentation describes the semantics, process flow, parameter values / setting and
returned data. The syntax of the API calls is described in the Function Details section of this manual.

Initialization
Each caller must initialize the Address Standardization sub-system by calling ids_addr_init. This
API must be called prior to calling any other Address Standardization APIs.
Note: By default ASM uses AddressDoctor v4. To use ASM with AddressDoctor v5 call
ids_addr_set_option API prior to calling ids_addr_init. Refer below table for
ids_addr_set_option:

Option Name

Option
Value

Meaning

LIBRARY_VERSION

V5

Use ASM with AddressDoctor v5.

V4

Use ASM with AddressDoctor v4.

Character Sets and Countries


Initialization must be followed by a call to ids_addr_set_attrib. This is used to define the character set of the input data. The parsed / validated address fields will be returned to the caller using this
character set as well. A list of supported character sets appear below for ASM using AddressDoctor v4:

Character Set
UTF32BE
UTF32LE
UTF16BE
UTF16LE
UTF8
UCS4BE
UCS4LE
UCS2BE
UCS2LE
ISO8859_1
table continued on next page
1015

ADDRESS STANDARDIZATION

table continued from previous page

Character Set
ISO8859_2
ISO8859_3
ISO8859_4
ISO8859_5
ISO8859_6
ISO8859_7
ISO8859_8
ISO8859_9
ISO8859_10
ISO8859_15
IBM437
IBM850
IBM852
IBM855
IBM857
IBM862
WIN1250
WIN1251
WIN1252
WIN1253
WIN1254
WIN1255
WIN1256
WIN1257
BIG5
JIS
GBK
UHC
ASCII
EBCDIC

Note: Character sets like UTF32BE, UTF32LE, UCS4BE and UCS4LE not supported by ASM
using AddressDoctor v5.

As
some
of
these
character
sets
are
multi-byte,
ids_addr_set_lines
and
ids_addr_get_field_idx transfer address data using the Block data type (fixed length, not
Character Sets and Countries

1016

nul-terminated pieces of memory).


The ids_addr_set_attrib API is also used to specify a default country. This value is used only
when address parsing fails to find a valid country within the address. A list of valid country names
appear below:

Country Name
Aruba
Afghanistan
Angola
Anguilla
Albania
Andorra
Netherlands Antilles
United Arab Emirates
Argentina
Armenia
American Samoa
Antarctica
French Southern Territories
Antigua and Barbuda
Australia
Austria
Azerbaijan
Burundi
Belgium
Benin
Burkina Faso
Bangladesh
Bulgaria
Bahrain
Bahamas
Bosnia and Herzegovina
Belarus
Belize
Bermuda
Bolivia
Brazil
Barbados
Brunei Darussalam
Bhutan
Bouvet Island
Botswana
Central African Republic
Canada
Cocos Islands
Switzerland
Chile
China
Cte dIvoire
Cameroon
Congo, The Democratic Republic of the
Congo
table continued on next page

1017

ADDRESS STANDARDIZATION

table continued from previous page

Country Name
Cook Islands
Colombia
Comoros
Cape Verde
Costa Rica
Cuba
Christmas Island
Cayman Islands
Cyprus
Czech Republic
Germany
Djibouti
Dominica
Denmark
Dominican Republic
Algeria
Ecuador
Egypt
Eritrea
Western Sahara
Spain
Estonia
Ethiopia
Finland
Fiji
Falkland Islands
France
Faroe Islands
Micronesia, Federated States of
Gabon
United Kingdom
Georgia
Ghana
Gibraltar
Guinea
Guadeloupe
Gambia
GuineaBissau
Equatorial Guinea
Greece
Grenada
Greenland
Guatemala
French Guiana
Guam
Guyana
Hong Kong
Heard Island and McDonald Islands
Honduras
Croatia
table continued on next page

Character Sets and Countries

1018

table continued from previous page

Country Name
Haiti
Hungary
Indonesia
India
British Indian Ocean Territory
Ireland
Iran, Islamic Republic of
Iraq
Iceland
Israel
Italy
Jamaica
Jordan
Japan
Kazakstan
Kenya
Kyrgyzstan
Cambodia
Kiribati
Saint Kitts and Nevis
Korea, Republic of
Kuwait
Lao Peoples Democratic Republic
Lebanon
Liberia
Libyan Arab Jamahiriya
Saint Lucia
Liechtenstein
Sri Lanka
Lesotho
Lithuania
Luxembourg
Latvia
Macau
Morocco
Monaco
Moldova, Republic of
Madagascar
Maldives
Mexico
Marshall Islands
Macedonia, The Former Yugoslav Republic of
Mali
Malta
Myanmar
Mongolia
Northern Mariana Islands
Mozambique
Mauritania
Montserrat
table continued on next page

1019

ADDRESS STANDARDIZATION

table continued from previous page

Country Name
Martinique
Mauritius
Malawi
Malaysia
Mayotte
Namibia
New Caledonia
Niger
Norfolk Island
Nigeria
Nicaragua
Niue
Netherlands
Norway
Nepal
Nauru
New Zealand
Oman
Pakistan
Panama
Pitcairn
Peru
Philippines
Palau
Papua New Guinea
Poland
Puerto Rico
Korea, Democratic Peoples Republic of
Portugal
Paraguay
Palestinian Territory, Occupied
French Polynesia
Qatar
Runion
Romania
Russian Federation
Rwanda
Saudi Arabia
Sudan
Senegal
Singapore
South Georgia and the South Sandwich Islands
Saint Helena
Svalbard and Jan Mayen
Solomon Islands
Sierra Leone
El Salvador
San Marino
Somalia
Saint Pierre and Miquelon
table continued on next page

Character Sets and Countries

1020

table continued from previous page

Country Name
So Tom and Prncipe
Suriname
Slovakia
Slovenia
Sweden
Swaziland
Seychelles
Syrian Arab Republic
Turks and Caicos Islands
Chad
Togo
Thailand
Tajikistan
Tokelau
Turkmenistan
Timor-Leste
Tonga
Trinidad and Tobago
Tunisia
Turkey
Tuvalu
Taiwan, Province of China
Tanzania, United Republic of
Uganda
Ukraine
United States Minor Outlying Islands
Uruguay
United States
Uzbekistan
Holy See
Saint Vincent and the Grenadines
Venezuela
Virgin Islands, British
Virgin Islands, U.S.
Viet Nam
Vanuatu
Wallis and Futuna
Samoa
Yemen
Serbia and Montenegro
South Africa
Zambia
Zimbabwe

The character set and default country are used for the life of the session or until they are changed.

Providing an Input Address


Address data can be provided in "10 line format" or "5 line format", by calling ids_addr_set_lines.
When using "5 line format" (which is the most similar to an address as it would appear on an envelope),
1021

ADDRESS STANDARDIZATION

the remaining lines should be passed as empty strings.


Alternatively, the address may be entered as individual fields, assuming that it has already been parsed.
Use the ids_addr_set_field_idx API for this purpose.
When calling the CASS certified engine (Val_Mode=Certify), only 4 lines of input are accepted. Any
additional lines will be ignored. The input lines must correspond to

Organization,

Delivery Address,

Locality (City, State and Zip), and

Country

When using "Val_Mode=Complete", an address must be entered as individual fields.

Parsing an Address
Parsing is the process of separating the address lines into separate address fields. It does not check
whether or not the address fields constitute a valid postal address.
A call to ids_addr_parse returns a Long Array of field lengths. These correspond to the lengths
of the parsed address fields, as per the table below. Fields with a length of zero simply mean that a
particular address component was not present (for example, a middle name).

Field Index

Address Field

Organization

Department

Nobility (e.g. Lord)

Title (e.g. Mr)

First Name

Middle Name

Last Name

Function (e.g. Manager)

Building

Sub-Building

10

Street_1

11

Street_2

12

House Number

13

P.O. Box

14

Dependent Locality (e.g. URB, Colonia)

15

Locality (e.g. County)

16

Province (e.g. State)


table continued on next page
Parsing an Address

1022

table continued from previous page

Field Index

Address Field

17

Zip Code

18

Country

19

Double Dependent Locality

20

Sorting Code (Mail Sort)

21

County Information

22

Zip+4

23

Geocoding Latitude

24

Geocoding Longitude

25

Geocoding Unit

26

Residue

For example, field length [13] represents the length of the "PO Box" component of the address.
Note: Some fields are not supported in AddressDoctor v4. ASM will not return values for
these fields (i.e. geocoding related fields) when using AddressDoctor v4.

Validating an Address
Validating involves parsing the address into its component fields and checking those fields against
a postal validation database. ids_addr_validate returns a status that indicates whether or not
the address was valid, and if not, whether it could be corrected and its likelihood of being delivered
successfully. Refer below table for validation status for ASM using AddressDoctor v4:

Status Code

Meaning

Address is correct

Address was corrected

Needs correction; deliverability high

Needs correction; deliverability fair

Needs correction; deliverability small

Country not recognized

No valid country database found

Country not unlocked

No validate called yet

Insufficient information

10

No suggestions

11

Suggestions incomplete
table continued on next page

1023

ADDRESS STANDARDIZATION

table continued from previous page

Status Code

Meaning

12

Suggestions

Refer below table for validation status for ASM using AddressDoctor v5:

Status Code

Meaning

Verified - Input data correct - all elements were checked and input matched perfectly

Verified - Input data correct on input but some or all elements


were standardised or input contains outdated names or exonyms

Verified - Input data correct but some elements could not be verified because of incomplete reference data

Verified - Input data correct but the user standardisation has deteriorated deliverability

Corrected - all elements have been checked

Corrected - but some elements could not be checked

Corrected - but delivery status unclear

Corrected - but delivery status unclear because user standardisation was wrong

Data could not be corrected completely, but is very likely to be


deliverable - single match

Data could not be corrected completely, but is very likely to be


deliverable - multiple matches

10

Data could not be corrected, but there is a slim chance that the
address is deliverable

11

Data could not be corrected and is pretty unlikely to be delivered

12

FastCompletion Status - Suggestions are available - complete address

13

FastCompletion Status - Suggested address is complete but combined with elements from the input

14

FastCompletion Status - Suggested address is not complete

15

FastCompletion Status - Insufficient information provided to


generate suggestions

16

Country recognized from ForceCountryISO3 Setting

17

Country recognized from DefaultCountryISO3 Setting

18

Country recognized from name without errors

19

Country recognized from name with errors

20

Country recognized from territory

21

Country recognized from province


table continued on next page

Validating an Address

1024

table continued from previous page

Status Code

Meaning

22

Country recognized from major town

23

Country recognized from format

24

Country recognized from script

25

Country not recognized - multiple matches

26

Country not recognized

27

Parsed perfectly

28

Parsed with multiple results

29

Parsed with Errors - Elements change position

30

Parse Error - Input Format Mismatch

31

Validation Error: No validation performed because country was


not recognized

32

Validation Error: No validation performed because required reference database is not available

33

Validation Error: No validation performed because country


could not be unlocked

34

Validation Error: No validation performed because reference


database is corrupt or in wrong format

35

Validation Error: No validation performed because reference


database is too old - please contact AddressDoctor to obtain updated reference data

The validation process may generate a number of suggested addresses when the input address is ambiguous. For example, the address
1520 Chestnut
Anytown AT 12345

may be ambiguous because both 1520 Chestnut Drive and 1520 Chestnut Court exist and without additional information, we cannot tell them apart. The number of suggestions returned is an output
parameter from the validate call.

Retrieving Address Fields


After parsing or validation, individual address fields are available for collection as part of a "suggestion". Suggestion 0 always holds the parsed fields. Suggestions numbered 1 and above hold the validated address fields.
Individual fields are retrieved one by one, using ids_addr_get_field_idx, by nominating the suggestion index and field index. Since some fields may be missing, only those fields that have a non-zero
length (as determined by calling ids_addr_parse or ids_addr_get_field_info) should be retrieved.
After validation, a field may be retrieved with ids_addr_get_field. This API is similar to
ids_addr_get_field_idx but returns two extra codes that describe how the particular field
1025

ADDRESS STANDARDIZATION

matched the validation data (val_status), and whether or not it was changed by the validation process (val_mods). Refer below table for val_status and val_mods for ASM using AddressDoctor
v4:

val_status

Meaning

Empty

Not found

Not Checked (no reference data or no chance of success)

Matched with errors

Matched without errors

val_mods

Meaning

Empty

Not checked

Not checked but standardized

Checked and corrected (changed or inserted)

Validated, but changed (synonyms, old names)

Validated, but standardized

Validated and unchanged

Refer below table for val_status and val_mods for ASM using AddressDoctor v5:

val_status

Meaning

Empty

Not found

Not checked (no reference data)

Wrong - Set by validation only

Match with errors in this element

Match with changes

Match without errors

val_mods

Meaning

Empty

Not validated and not changed

Not validated bus standardized


table continued on next page

Retrieving Address Fields

1026

table continued from previous page

val_mods

Meaning

Validated but not changed due to invalid input

Validated but not changed due to lack of reference data

Validated but not changed due to multiple matches

Validated and changed by eliminating the input value

Validated and changed due to correction based on reference data

Validated and changed by adding value based on reference data

Validated, not changed, but delivery status not clear

12

Validated, verified but changed due to outdated name

13

Validated, verified but changed from exonym to official name

14

Validated, verified but changed due to standardization based on


casing or language

15

Validated, verified and not changed due to perfect match

Setting Options
Some optional aspects of
ids_addr_set_option API.

Address

Standardization

behavior

may

be

set

Option Name

Option
Value

Meaning

Val_Mode

Correct

Correct the input address. Do not generate


suggestions. Generally used in batch mode.

Suggest

Generate suggestions (the default). Generally


used by online applications where the operator
can choose between a list of possibilities.

Complete

Use an incomplete address (fragment) to


quickly generate suggestions. Used for online
"fast completion" style of applications.

Certify

Use CASS certified validation rules defined by


the USPS. Certify mode is only available for
US addresses and requires additional database
files to be installed in the DB directory.

True

Force the use of the Default Country

False

Use Country detected from parsing the Address. This is the Default.

True

To format the zip code in country specific format

False

To unset the format of zip code in country specific format. This is the Default.

Force_Country

FORMAT_ZIP

table continued on next page


1027

ADDRESS STANDARDIZATION

with

the

table continued from previous page

Option Name

Option
Value

Meaning

BASE_ZIP

True

To retrieve the zip code in Base format

False

To unset the base format of zip code. This is


the Default.

Getting Options
Some aspects of Address Standardization behavior may be obtained with the ids_addr_get_option
API.

Option Name

Option
Value

Meaning

VERSION

N/A

Gets the version number of the validation database

Sample Code
Sample code that demonstrates the API calls is in the samples directory. C Code for example can be
found here ssaas/ad/samples/addrstd.c.
This code is compiled and linked in the same way as the other sample programs found in the Client
and Developer Components install package in samples/programs.
It only requires one command line parameter to run: the host:port of the Search Server. For example
addrstd -h%SSA_SEPORT%

The sample code makes use of the Swiss validation database. This should be installed prior to use. See
the Validation Database Files section for details.
The sample code by default makes use of ASM with AddressDoctor v5. To use ASM with AddressDoctor v4 run sample code with -v4 command line option. For example
addrstd -h%SSA_SEPORT% -v4

Validation Database Files


The validation process makes use of postal validation databases stored in a sub-directory of the
MDM-RE Servers installation named ssaas/ad/ad/db for ASM using AddressDoctor v4 and
ssaas/ad5/ad/db for ASM using AddressDoctor v5.
The Address Standardization Module installer does not install any validation databases. They are
ordered separately by contacting Informatica Corporation. When you receive these files (named *.MD),
Retrieving Address Fields

1028

you must copy them into the directory specified above. You will also receive a file named key that
contains an unlock code for your specific databases. This file must be copied to the same directory.
Also in case of ASM using AddressDoctor v5 to support geocoding, unlock code for geocoding should
be present in file named key.geo. This file must be copied to the same directory where key is copied.

ASM configuration for AddressDoctor v5


The values of unlock key, number of threads, maximum number of address object to be used for Address Standardization are determined from the values in the file ssaasmv5.xml.
Note: The format of the ASM ADv5 configuration XML should be in UTF-8.

Address Standardization XML configuration file samples:


The simplest XML configuration file:
<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
</ASM_ADv5_Config>

Note: MAX_THREAD value should not be set to a larger value than the number of cores/CPUs.
Its recommended to set the value of MAX_ADOBJECTS as twice the number of threads set
using MAX_THREAD. Also these options should be set before starting MDM-RE servers.

XML Configuration with multiple license key:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 2**</UNLOCK_CODE>
...
<UNLOCK_CODE>**Placeholder for UnlockCode N**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
</ASM_ADv5_Config>

XML configuration with preload options:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="FULL">Switzerland</PRELOAD>
<PRELOAD TYPE="PARTIAL" VALMODE="CORRECT">Canada</PRELOAD>
<PRELOAD VALMODE="CERTIFY">Australia</PRELOAD>
</PRELOAD_COUNTRIES>
</ASM_ADv5_Config>

1029

ADDRESS STANDARDIZATION

Note: Refer to section Character Sets and Countries chapter for valid country name for
preload.

XML configuration with enrichment options:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="PARTIAL" VALMODE="CERTIFY">Australia</PRELOAD>
</PRELOAD_COUNTRIES>
<PROCESS_OPTION>
<ENRICHMENT_OPTION>EnrichmentGeoCoding</ENRICHMENT_OPTION>
<ENRICHMENT_OPTION>EnrichmentCASS</ENRICHMENT_OPTION>
</PROCESS_OPTION>
</ASM_ADv5_Config>

Note: To get CASS, GeoCoding, AMAS, SERP enrichment fields we need to specify enrichment options. EnrichmentGeoCoding, EnrichmentCASS, EnrichmentAMAS, EnrichmentSERP, EnrichmentSNA etc. are the possible values for enrichment option.

XML configuration with input options:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="PARTIAL" VALMODE="CERTIFY">Australia</PRELOAD>
</PRELOAD_COUNTRIES>
<PROCESS_OPTION>
<ENRICHMENT_OPTION>EnrichmentGeoCoding</ENRICHMENT_OPTION>
<ENRICHMENT_OPTION>EnrichmentCASS</ENRICHMENT_OPTION>
</PROCESS_OPTION>
<INPUT_OPTION>
<INPUT_PARAMETER TYPE="FormatDelimiter">COMMA</INPUT_PARAMETER>
</INPUT_OPTION>
</ASM_ADv5_Config>

Note: FormatDelimiter is from a choice of (default is CRLF): CRLF, LF, CR, SEMICOLON,
COMMA, TAB, PIPE or SPACE.

XML configuration with result options:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="PARTIAL" VALMODE="CERTIFY">Australia</PRELOAD>
</PRELOAD_COUNTRIES>
<PROCESS_OPTION>
<ENRICHMENT_OPTION>EnrichmentGeoCoding</ENRICHMENT_OPTION>
<ENRICHMENT_OPTION>EnrichmentCASS</ENRICHMENT_OPTION>
</PROCESS_OPTION>

Retrieving Address Fields

1030

<INPUT_OPTION>
<INPUT_PARAMETER TYPE="FormatDelimiter">COMMA</INPUT_PARAMETER>
</INPUT_OPTION>
<RESULT_OPTION>
<RESULT_PARAMETER TYPE="AddressElements">DETAILED</RESULT_PARAMETER>
</RESULT_OPTION>
</ASM_ADv5_Config>

Note: AddressElements is from a choice of (default is STANDARD): NONE, STANDARD or


DETAILED. Setting AddressElements to DETAILED displays all residue elements.

XML configuration with postal reference database path:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<POSTAL_DB_PATH>**Placeholder for postal database path**</POSTAL_DB_PATH>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="PARTIAL" VALMODE="CERTIFY">Australia</PRELOAD>
</PRELOAD_COUNTRIES>
<PROCESS_OPTION>
<ENRICHMENT_OPTION>EnrichmentGeoCoding</ENRICHMENT_OPTION>
<ENRICHMENT_OPTION>EnrichmentCASS</ENRICHMENT_OPTION>
</PROCESS_OPTION>
<INPUT_OPTION>
<INPUT_PARAMETER TYPE="FormatDelimiter">COMMA</INPUT_PARAMETER>
</INPUT_OPTION>
</ASM_ADv5_Config>

XML configuration with postal reference database path for preload:


<?xml version="1.0" encoding="UTF-8"?>
<ASM_ADv5_Config>
<MAX_THREAD>1</MAX_THREAD>
<MAX_ADOBJECTS>2</MAX_ADOBJECTS>
<POSTAL_DB_PATH>**Placeholder for postal database path**</POSTAL_DB_PATH>
<AD5_UNLOCK_CODE>
<UNLOCK_CODE>**Placeholder for UnlockCode 1**</UNLOCK_CODE>
</AD5_UNLOCK_CODE>
<PRELOAD_COUNTRIES>
<PRELOAD TYPE="FULL"
POSTAL_DB_PATH="**Placeholder for postal database path**">United States</PRELOAD>
<PRELOAD VALMODE="CERTIFY">Germany</PRELOAD>
</PRELOAD_COUNTRIES>
<PROCESS_OPTION>
<ENRICHMENT_OPTION>EnrichmentGeoCoding</ENRICHMENT_OPTION>
<ENRICHMENT_OPTION>EnrichmentCASS</ENRICHMENT_OPTION>
</PROCESS_OPTION>
<INPUT_OPTION>
<INPUT_PARAMETER TYPE="FormatDelimiter">COMMA</INPUT_PARAMETER>
</INPUT_OPTION>
</ASM_ADv5_Config>

Batch Test Utility


Provided with the Address Standardization Module is the batch utility asmiss. This program utilizes
all of the API functions. It takes address from an input file and can perform both parsing and validation.
It is ideal for verifying programs that utilize the Address Standardization Module API or for batch
processing a number of addresses.
%SSABIN%\asmiss InputFile -hHostName:PortNumber [Options]

1031

ADDRESS STANDARDIZATION

Where
InputFile The input file will consist of addresses in a ten line format. Addresses with less than 10
lines must be terminated with a comment line. This is a line beginning with the comment string which
defaults to the # character.
-hHostName:PortNumber Search Server Host name and Port Number.
-a Prints the suggested address label.
-A Force the use of archive tables.
-b Force the use of ASM using AddressDoctor v5 (default v4).
-cCharSet The Character set to use. The default is WIN1250.
-dDefaultCountry The Country to use when parsing can not determine a country from the address.
-f Force the use of the Default Country.
-gFileNameCASS summary report file-name.
-i Individual field-level input. When specified, each input address consists of n lines, where n is the
maximum number of Field-Index values supported, as documented in the Parsing An Address section.
Each field value must be prefixed by 3 bytes (which are ignored). This reserves space for a 2 digit fieldindex plus a space, used for documentation purposes. For example, a valid input file may look like
this:
00
01
02
03
04
05
06
07
08
09
11
12
13
14
15
16
17
18
\#

Mr.
John
Peter
Smith

100 Apt 23A

NY
10023

-l Remove line separator from input.


-Lpreload_country The Country to use during preloading of database into memory.
-mValMode The Mode to use for validation purposes valid values are Suggest, Correct, Complete
and Certify. The default value is Suggest.
-o PO Box complete flag.
-P Force the use of partially fielded. This should be accompanied with Individual field-level input.
-rString Set the comment character/string. This defaults to #.
Retrieving Address Fields

1032

-S Prints the address match score.


-Tpreload_type Set the preload type This defaults to NOPRELOAD.
-v Performs Validation. The default is to parse only.
-xml Generate CASS 3553 summary report in xml format..
-y Set preferred language type.
-z Prints the Validation database version.
-ZzipFormat Set the format of the output zip code. The valid values are BASE_ZIP and FORMAT_ZIP.

1033

ADDRESS STANDARDIZATION

AnswerSet
AnswerSet provides the ability to store the search results in a database table. Some programming
environments may not have the ability to retrieve search results, so it may be more convenient to initiate
a search using the APIs and read the search results from a database table using SQL.

Table Name and Index


An AnswerSet table is created automatically the first time it is required. Only one AnswerSet table is
created per IDT and is shared by all users of that IDT.
The table is named IDS_SystemQualifier_AS_IDTname where
SystemQualifier is the qualifier
"odb:01:scott/tiger@oracle"

used

in

the

Database

Name

(eg

the

01

in

IDTname is the IDT-NAME= parameter from the IDX-Definition. The length of the table name is
limited by the target database.
An AnswerSet index is also created. Its name has the following format:
IDSX_ SystemQualifier_AS_ IDTname

Storage options (extents, tablespace, etc) for an AnswerSet are defined using the DATABASE-OPTIONS=
parameter in the System-Definition.

Table Layout
An AnswerSet Table contains the following columns:

Set-Id CHAR(32)

ScoreNUMBER (3,0)

File Record-IdNUMBER (10)

the columns from the IDT

The Set-Id is used to identify a result set. The caller of the API specifies this value (maximum of 32
bytes). The Score represents the score (0-100) of how well the search record matches the file record. The
File Record-Id uniquely identifies the file record and corresponds to the RecId column in the IDT.

Adding Rows
The AnswerSet table is populated with rows as a result of calling ids_search_start or
ids_system_search_start and specifying a Set-Id.
If a Set-Id is already in use, the new search results will overwrite the existing set.
1034

Clearing the Table


All AnswerSets can be cleared by dropping the AnswerSet table and AnswerSet index. This should
only be done when the Search Server is down. The table and index will be recreated automatically
when required.
Oracle / MS-SQL Server: The table and index can be truncated to clear all rows.

Relate & DupFinder Set-Ids


Relate and DupFinder can write their output to an AnswerSet.
For Relate, Set-Ids are created by concatenating the Set-Id prefix (-a parameter) to the record number
from the input file.
For DupFinder, Set-Ids are created by concatenating the Set-Id prefix (-a parameter) to the record-id of
the search record.

Oracle RAC
Customers running with Oracles Real Application Clusters (RAC) may need to set the initialization
parameter MAX_COMMIT_PROPAGATION_DELAY to 0. This will prevent a delay in synchronizing AnswerSets committed on one instance and read from another. Refer to MetaLink DocId 259454.1 for
details.

1035

ANSWERSET

DupFinder
The DupFinder is a facility for detecting duplicate IDT records. It is accessed via the search API. Instead
of passing a search record to search with, it is called with special parameters that tell it to acquire search
records from the IDT.
It uses the same calling protocol as a normal search; start a search with ids_search_dedupe_start,
read set members with ids_search_get, close the set with ids_search_finish.
Each set contains the duplicate records including the search record, or optionally, the search record
only, or all records without the search record.
Normally DupFinder only returns to the caller when it finds a duplicate or has processed all the IDT
records. This saves on network traffic. However, you can control how many IDT records are searched
before DupFinder returns. You may wish it to return after processing a fixed number of records
(DEDUP-PROGRESS= in the Multi-Search Definition) if you do not expect many dupes and/or want
to search a range of record-ids. The search returns a flag indicating the number of records found, and
the last Record-Id it searched.
If it found duplicates and you specified an AnswerSet id (SetId) within the
ids_search_dedupe_start, use the SetId to retrieve the set members from the AnswerSet
table. If you did not specify an AnswerSet id (SetId) you can retrieve the set members using repeated
calls to ids_search_get. Close the set using ids_search_finish. Issue a new search to start the
next search.
Each ids_search_dedupe_start call passes a parameter named recid that sets the starting Record-Id for the search.
Set it to 0 to start a new sweep of the IDT. On return
ids_search_dedupe_start returns the recid of the source record that has a duplicate. Simply
pass the same value to the next ids_search_dedupe_start call to find the next set of dupes. If the
recid is 0, it means it has reached the end of the IDT and there are no more records left to process.
ids_search_dedupe_start will return an empty set (recs=0) when the search record matched
no IDX records, or if DEDUPE-PROGRESS= was specified and the max was reached.
If
DEDUPE-PROGRESS= was not specified, the situation indicates an integrity error, or a lack of synchronization between the IDT and IDX. In this situation, it also writes a warning message on the search
servers log.
Here is some java sample code illustrating the use of the functions:
for (;;) {
rc = ssaids.ids_search_dedupe_start (
search,
/* IN: Search name */
"Typical",
/* IN: Search Width */
"Typical",
/* IN: Match Tolerance */
parameters,
/* IN: Search values - not used */
searchRec,
/* IN: search record */
searchRec.length,
setId,
flags,
recId,
recsFound);
/* OUT: Number of records found */
System.out.println (prog + "> [" + currentSearch +
"] Search_Record = " +
new String (searchRec) + "");
System.out.println (prog + "> [" + currentSearch +
"] records found=" + recsFound[0]);

1036

System.out.println (prog + "> [" + currentSearch +


"] recId = " +recId[0]);
if (1 == rc) {
System.out.println (prog + "> Dedupe truncated.");
}
if (0 == recId[0]) {
System.out.println (prog + "> Dedupe completed.");
break;
}
if (0 == recsFound[0]) {
System.out.println (prog +
"> Dedupe progress notification.");
continue;
}
while (0 == ssaids.ids_search_get (
search,
rec,
searchRec.length,
score,
sreps, 0,
freps, 0)) {

/* IN: Search name */


/* OUT: Record */
/* OUT: Score */
/* OUT: Sreps - not used */
/* OUT: Freps - not used */

System.out.println (prog + "> [" + currentSearch +


"] IDT_Record = " +
new String (rec) + "");
System.out.println (prog + "> [" + currentSearch +
"] Score = " + score [0]);
}
ssaids.ids_search_finish (search);
++currentSearch;
}

AnswerSet
DupFinder results can be stored in an AnswerSet . In order to identify the search record, the Set-Id
of the AnswerSet is created by concatenating the Set-Id provided by the caller to the 10 byte Search
Record-Id from the IDT.
Therefore, when adding DupFinder results to an AnswerSet the Set-Id parameter is limited to 22
bytes.
MVS: AnswerSets created by a DupFinder must be placed in a separate tablespace using the
DATABASE-OPTIONS= clause.

1037

DUPFINDER

Match Explain API


Match Explain Record Formats
Match Explain records are described by the header ssaexpl.h. There are 6 different types of record.
Each record start with a series of 9 ascii digits which are explained as:
1. 3 digits describing the type of record
2. 3 digits showing the parent sequence number of the record (0 = no parent) - which is useful for
implementing tree displays
3. 3 digits showing the sequence number of the record
The types of record and what follows is shown below:
1. Type 000 The base record (there will be one of these for each phase performed, and parent sequence
number will be 0) gives the overall result which is already available to the user. The record header is
followed by:
(a) A 3 digit number for score
(b) A single character for decision (A = Accepted, R = Rejected, U = Undecided).
(c) A 3 digit match explain API version number (the current version is 001) (new for 9.5.3)
(d) A single character denoting the phase the summary describes (L)WM or Name(3) (new for 9.5.3)
(e) A single character showing if LWM was performed (Y/N) (new for 9.5.3)
(f) A single character showing if Name3 was performed (Y/N) (new for 9.5.3)
2. Type 001 This level of record displays operators and brackets. The header is followed by a 2 digit
number indicating which operator applies. The meaning of codes are:
01
02
03
04
05

AND
OR
Open Bracket
Close Bracket
NOT

3. Type 002 This level of record give the summary for an SSA-NAME3 Purpose. The header is followed by 76 bytes for Purpose Name, 3 bytes for score, 1 byte for decision, 32 bytes for match tolerance,
a 3 digit number for each of accept and reject limits and a single byte flag (Y/N) indicating if an early
exit was taken.
4. Type 003 Type 3 records indicate the grouping of fields in a Purpose currently there are best and
required groups. A single byte (B/R) indicating which type of group follows the record header. The
remainder of the record is dependent on the type of group. Best groups are following by a 3 digit
number which indicates how many bytes are used for the label of the group. Required groups are
followed by a 2 digit number indicating how many group members must be found, a 2 digit number
showing drop and a 2 digit number showing slide, followed by a 3 digit number indicating length of
the final label field. Drop indicates the maximum field score available and Slide indicates the score
penalty applied if not all group members are present.
5. Type 004 This record describes field (method) results. The header is followed by 32 bytes indicating field name, a 3 digit score, a 4 digit weight (scale factor of 100 has been applied), a 3 digit original
weight (at original scale), a weight flag (W = weight, A = adjusted) byte, a contributed flag byte (Y/N),
an optional flag byte (Y/N), a 3 digit field contribution; a repeating field flag (Y/N), and a 2 byte index
for each of search and file fields used (will be 0 if not used)
1038

6. Type 005 This record simply shows the field data used in the match call. The header is followed
by a single byte indicating if (F)ile or (S)earch data, then a 3 digit number indicating the length of the
field data which completes the record.

Match Explain Scores


As described in the previous section, Type 004 records contain the scores achieved by individual
fields. Note that these individual scores may not add up to the score returned for the whole Purpose.
This is due to the fact that these field scores have already been rounded up or down before being
returned to the user.

1039

MATCH EXPLAIN API

Index
ActiveX, 691, 803, 859
AnswerSet, 36, 1034, 1036, 1037
C, 51
C#, 169
CICS, 224
Cobol, 224
ColdFusion, 284
Compile, 39, 224, 1028
HTTP, 915
Java, 339
MS SQL, 454
Perl, 399
PL/SQL, 518
PowerBuilder, 578
SOAP, 916
ssaseb.sql, 518, 519
ssasep.sql, 518
Unicode, 918
verbosity, 1014
Visual Basic, 636, 691, 803, 859
Visual Basic .NET, 747
WSDL, 915
XML, 915
XML Search Server, 915

1040

Das könnte Ihnen auch gefallen