pitney bowes · © 1991 - 2003 group 1 software, inc. all rights reserved. group 1, group 1...

108
Tbe Marketing Software Company T )I Merge/Purge Plus Client/Server/-Web User’s Guide Software Release 6.4.3 January 2003 Windows and Unix dMPC643opcsu

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Tbe Marketing Software Company T )I

    Merge/Purge Plus Client/Server/-Web User’s Guide

    Software Release 6.4.3

    January 2003

    Windows and Unix dMPC643opcsu

  • © 1991 - 2003 Group 1 Software, Inc.

    All rights reserved. Group 1, Group 1 Software, the Group 1 logo, The Marketing Software Company, and Merge/Purge Plus are trademarks of Group 1 Software, Inc. All other trademarks referenced herein are the property of their respective owners.

    You may make up to three copies of this publication, without the express written permission of Group 1 Software, for use at the authorized installation site. Reproduction and distribution outside of the licensed site is strictly prohibited. If you would like to make more than three copies, you must contact the Group 1 Documentation Department for written permission. The contents of this Guide are subject to the confidentiality and non-disclosure provisions in your license agreement with Group 1 Software.

    Group 1 Software makes a sincere effort to ensure that the information in our user guides is accurate at the time of publication. If you think the information in this version of the Guide may have gotten out-of-date, please contact Group 1 Technical Support at 800-367-6950. Group 1 products are warranted to perform as documented on hardware platforms running versions/releases of operating systems, subsystems, compilers, and facilities that are currently supported by their manufacturers. Please see your license agreement for additional details.

    Address written requests to make copies of all or any part of this publication to:

    GROUP 1 SOFTWARE INC DOCUMENTATION DEPARTMENT STE 600 4200 PARLIAMENT PL LANHAM MD 20706-1844

  • E N H A N C E M E N T S U M M A R Y

    Product: Merge/Purge Plus Client/Server/-Web

    The major enhancements included in this release are summarized below.

    1 This User’s Guide is for both Client/Server and -Web. Please consult your licensing agreement with Group 1 for the version for which you are licensed. This book documents both versions of the product: Merge/Purge Plus client/Server and Merge/Purge Plus-Web. For simplicity, the product is referred to as Merge/ Purge Plus Client/Server throughout this book.

    For a complete list of enhancement and fixes in this release, please refer to the release letter that accompanied your software and documentation. You can also download a copy of the release letter from the secure area of the Group 1 website (www.g1.com).

    Merge/Purge Plus Client/Server/-Web User’s Guide iii

    http:www.g1.com

  • 6.4.3 - 01/2003 iv

  • T A B L E O F C O N T E N T S

    Enhancement Summary Product: Merge/Purge Plus Client/Server/-Web . . . . . . . . . . . . . . . . . . . . . . . . . . iii

    BEFORE YOU BEGIN. IMPORTANT INFORMATION

    What is Merge/Purge Plus Client/Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Why Should You Use Merge/Purge Plus Client/Server? . . . . . . . . . . . . . . . . . . x Purpose of This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Who Should Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

    Finding the Information You Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Conventions Used in This Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii If You Need More Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

    The Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii To Order Additional User's Guides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Your Comments Are Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

    CHAPTER 1. INTRODUCTION TO MERGE/PURGE PLUS CLIENT/SERVER

    What is Merge/Purge Plus? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Comparison Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Merge/Purge Plus Client/Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    The Merge/Purge Plus Client/Server Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 The C APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 COM Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Java Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

    How Can You Use Merge/Purge Plus Client/Server? . . . . . . . . . . . . . . . . . . . . . . 1-8 Merge/Purge Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Using the Merge/Purge Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

    CHAPTER 2. INSTALLING MERGE/PURGE PLUS CLIENT/SERVER

    The Windows Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Installing the Windows Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Uninstalling the Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

    The Unix Server Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 The Windows Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

    System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Installing the Windows Client Component. . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

    The Unix C Client Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Installing the Unix C Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

    The Unix Java Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Installing the Unix Java Client Component . . . . . . . . . . . . . . . . . . . . . . . . 2-10

    Merge/Purge Plus Client/Server/-Web User’s Guide v

  • Table of Contents

    CHAPTER 3. SERVER AND CLIENT CONFIGURATION

    The Windows Server Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 The Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Changing Windows Services Startup Option. . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Performance Monitor Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

    The Unix Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Windows Client Configuration for Unix Server. . . . . . . . . . . . . . . . . . . . . . . 3-7 Unix Client Configuration for Unix Server . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

    CHAPTER 4. CALLING MODULES USING THE C API

    What is the C API for Merge/Purge Plus? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Return Code Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 ConnectMPClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

    Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

    ReleaseMPClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

    ClearRecords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

    LoadRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

    ScoreRecords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Output Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

    CHAPTER 5. THE MPS_MATCH COM OBJECT

    What is the MPS_Match COM Class? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Input and Output Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

    FixedString Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

    Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Remarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

    Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Remarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5

    Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

    Load. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

    vi

  • Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

    Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Output Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16

    CHAPTER 6. THE MPS_MATCH JAVA CLASS

    What is the MPS_Match Java Class? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Overview of Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

    Connect Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

    Release Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8

    AddRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

    GetRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11

    GetNumCandRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12

    ScoreRecords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Code Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13

    APPENDIX A. MERGE/PURGE CLIENT/SERVER ERROR CODES

    Error #-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Diagnostic Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2

    Error #6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Diagnostic Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2

    Error #14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Diagnostic Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3

    Merge/Purge Plus Client/Server/-Web User’s Guide vii

  • Table of Contents

    Error #18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-3 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-3 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-3

    Error #206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4

    Error#1001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4

    Error#1010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5

    Error #1011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5

    Error #1012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-6 Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-6 Diagnostic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-6

    GLOSSARY

    INDEX

    viii

  • B E F O R E Y O U B E G I N

    Important Information

    This chapter describes how to use the Merge/Purge Plus Client/Server User's Guide, the presentation conventions used in this guide, and how to obtain assistance from Group 1 Software, Inc.

    What is Merge/Purge Plus Client/Server? . . . . . . . . . . . . . . . . . . . . . . . . x Why Should You Use Merge/Purge Plus Client/Server? . . . . . . . . . . . . . . . x Purpose of This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Who Should Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

    Finding the Information You Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Conventions Used in This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii If You Need More Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

    The Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii To Order Additional User's Guides . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Your Comments Are Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

    Merge/Purge Plus Client/Server/-Web User’s Guide ix

  • Important Information

    What is Merge/Purge Plus Client/Server?

    Group 1 Software created Merge/Purge Plus Client/Server by separating the single-computer version of Merge/Purge Plus into two components. The server component consists of the Merge/Purge Plus software and the network communications software that allows a client to access the duplicate matching functions by connecting to the server. The client component consists of the user interfaces and the programming objects required to access the functions available by calling the server.

    IMPORTANT: Please check your licensing agreement to determine whether you are licensed for the “Client/Server” or “-Web” version of this product.

    Why Should You Use Merge/Purge Plus Client/Server?

    Merge/Purge Plus Client/Server allows multiple clients to access one copy of the Merge/ Purge Plus software, which is located on the server. This allows you to take advantage of the Merge/Purge Plus duplicate matching functions, using your own user interface in a Client/Server or web environment, on either the Windows or Unix platforms.

    Purpose of This Guide

    This user's guide is intended to provide you with all the information you need to effectively install and configure Merge/Purge Plus Client/Server. With this guide, you will learn how to install the product, reconfigure the client and server components, and change the Windows Services Startup options, if necessary. This guide also provides instructions for activating and using the enhancements to the Windows Performance Monitor application. It contains the objects for calling the duplicate matching functions using the C Language call interface, COM objects or Java classes, for use by experienced programmers writing a custom interface.

    Who Should Use This Guide

    This guide was developed for system administrators who will be installing and monitoring the use of Merge/Purge Plus Client/Server, and for experienced programmers familiar with C, COM or Java who are writing a custom interface for Merge/Purge Plus Client/Server.

    6.4.3 - 01/2003 x

  • Finding the Information You Need

    Finding the Information You Need

    The following table summarizes the chapters in this guide.

    Chapter Description

    Before You Begin. Important Information

    Describes the purpose of and how to use the Merge/Purge Plus Client/Server User's Guide, the presentation conventions used in this guide, and how to obtain assistance from Group 1 Software, Inc.

    Chapter 1. Introduciton to Merge/ Purge Plus Client/Server

    Introduces the Merge/Purge product, APIs, COM and Java programming objects.

    Chapter 2. Installing Merge/Purge Plus Client/ Server

    Explains how to install the server and client components and how to load the Merge/Purge Plus database.

    Chapter 3. Server and Client Configuration

    Explains how to change the server configuration and Services startup options, if necessary, for the Windows environment. It also explains how to configure the UNIX server and client configurations.

    Chapter 4. C Language Application Program Interface

    Provides C API parameter structures for the duplicate matching functions.

    Chapter 5. The MPS_Match COM Object

    Provides detailed reference on all methods and properties associated with the MPS_Match COM object.

    Chapter 6. The MPS_Match Java Class

    Provides detailed reference on all methods and classes associated with the MPS_Match Java class.

    Appendix A. Merge/Purge Client/Server Error Codes

    Provides detailed reference on all the error codes that may occur while using Merge/Purge Client/Server.

    Glossary Defines programming and other terms used throughout this guide.

    Index Provides access to all the subjects covered in this book.

    Merge/Purge Plus Client/Server/-Web User’s Guide xi

  • Important Information

    Conventions Used in This Guide

    This guide uses the following documentation conventions:

    TEXT Indicates system information, such as code examples, and commands that you enter.

    Bold Indicates any of the following: menu name or menu option; icon; name of screen; or field name.

    Italics Indicates words or phrases that require emphasis. Italics are also used for all dialog box, screen names, and book names.

    Indicates a keyboard key, such as or .

    NOTE: Indicates important information or warnings.

    This column is used 1 for references to other sections or 2 Indicates numbered steps in a process. chapters containing related information.

    6.4.3 - 01/2003 xii

  • If You Need More Help

    If You Need More Help

    If you are unable to resolve a problem, Group 1's Customer Support Representatives can help guide you to a solution. When you call Group 1 Customer Support, please have a description of the task that you were performing at the time the error condition occurred.

    Use the information below to contact Group 1’s Customer Support department.

    Customer Support Hotline — 800-367-6950. For customers in the United States.

    Customer Support e-mail address — [email protected].

    Facsimile number — 301-918-0462. Please address your facsimile cover sheet to Customer Support.

    The Web Site

    You can also find out about Group 1 products and services through the Group 1 Software website, at http://www.g1.com. Registered users can obtain electronic copies of product documentation, join online discussion forums, download software and databases, find out about our training classes, or sign up for Group 1’s Listserv. From the home page, click on Support and log in to the Customer Support Area.

    NOTE: Registered users are those who have a Maintenance Agreement with Group 1 Software. Contact Customer Support to obtain your User ID and password.

    Merge/Purge Plus Client/Server/-Web User’s Guide xiii

    http:http://www.g1.commailto:[email protected]

  • Important Information

    To Order Additional User's Guides

    If you wish to order additional copies of the Merge/Purge Plus Client/Server User's Guide or other Group 1 product manuals, a Documentation Order Form is provided at the back of this publication. Simply complete the form and send it to:

    Group 1 Software, Inc. Documentation Manager 4200 Parliament Place Suite 600 Lanham, MD 20706-1844

    Your Comments Are Welcome

    We appreciate and welcome your comments concerning this guide! If you have suggestions, please let us know. If you have any comments about this guide, address them to:

    Group 1 Software, Inc. Documentation Manager 4200 Parliament Place, Suite 600 Lanham, MD 20706-1844

    Thank you.

    6.4.3 - 01/2003 xiv

  • C H A P T E R 1

    Introduction to Merge/Purge Plus Client/Server

    This chapter provides an overview of Merge/Purge Plus Client/Server. You are introduced to Merge/Purge Plus concepts, as well as C APIs, COM objects, Java classes, and how they interact with the Merge/Purge Plus duplicate matching algorithms.

    What is Merge/Purge Plus? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Comparison Algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Merge/Purge Plus Client/Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    The Merge/Purge Plus Client/Server Objects . . . . . . . . . . . . . . . . . . . 1-5 The C APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 COM Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Java Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

    How Can You Use Merge/Purge Plus Client/Server? . . . . . . . . . . . . . 1-8 Merge/Purge Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Using the Merge/Purge Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

    Merge/Purge Plus Client/Server/-Web User’s Guide 1-1

  • 1 Introduction to Merge/Purge Plus Client/Server

    What is Merge/Purge Plus? Merge/Purge Plus helps you identify duplicate groups of name/address records.

    In Merge/Purge Plus Client/Server, you can load up to 999 records into memory at one time.

    Merge/Purge Plus Client/Server returns a duplicate match score for records that are compared.

    The basic idea behind the Merge/Purge Plus system is to Merge multiple input records, compare the records, identify duplicates, and purge unwanted records. In theory, Merge/ Purge Plus operations are very simple: you just look at each pair of records, and if they appear to be duplicates, you mark them as such. Of course, you should also keep track of how many duplicates you find, which ones you decide to keep, and so forth. You probably also want to keep track of such statistics subdivided according to the source of the records.

    A person can do the job outlined above much better than any computer software — as long as the number of records is small. A file of 10 records involves just 45 record-to-record comparisons. As the number of records grows, however, a person can no longer keep up with the task. For example, a file of 100 records requires 4,950 comparisons, and a file of 1,000 records requires 499,500 comparisons.

    Even for today's fastest computers, it is much too great a job to compare every record in a file of significant size to every other record in the file. A file of one million records would require just under 500 billion comparisons. Therefore, all computer software that attempts to find duplicates must rely on the sortation of large input files into some sequence that eliminates most pairs of records from being compared to each other. In other words, you only want the computer program to compare records that are likely to be duplicates. In the client/server verion of Merge/Purge Plus, you determine which records, and how many, you want Merge/Purge Plus to compare. You can load up to 999 records into memory at one time.

    In addition to sorting your input files to bring together likely duplicates, you must identify the rules for comparing records to determine which pairs are duplicates and which are not. In Merge/Purge Plus, these rules are called comparison algorithms. You tell Merge/Purge Plus which comparisons you want performed, and Merge/Purge Plus will return a duplicate match score for the records you loaded into memory.

    Comparison Algorithms

    Before Merge/Purge Plus compares the records, it extracts the data from the records and saves it in memory in a standardized format. It is this extracted data that is used to determine duplicates. For example, several of the fields that are extracted from the records are name fields. Thirteen characters of the surname, three characters of the first name, and three characters of the middle name are extracted. In this way, we can determine individual and household matches. Let's consider three names as follows:

    Dick Collins Richard Collins Rick Collins

    Merge/Purge Plus knows that Dick and Rick are both nicknames for Richard. The extracted name fields for all three of these records then become COLLINS RIC (because it takes up to 13 characters of the surname and up to 3 characters of the standardized first name). These records would be identified as duplicates.

    6.4.3 - 01/2003 1-2

  • What is Merge/Purge Plus? 1

    There are several algorithms that are used to compare your records to determine duplicates. Specifically, there is one algorithm for each element that can be compared:

    ZIP Code

    Surname (or company name)

    Individual name (complete name)

    House number

    Street name

    Post Office Box number

    Rural Route Box number

    Apartment number

    General address

    Household determination

    Overall record

    Resident or occupant records.

    You may tighten or loosen these algorithms individually, as well as introduce special restrictions on the comparisons. Tightening an algorithm means specifying that the records must be closer together to be considered duplicates. By contrast, loosening an algorithm means specifying the elements may be a little more different and still be considered duplicates. By default, all of the algorithms are set for medium matches, but you can tighten and loosen them to meet your needs.

    When performing a comparison, you need to decide which record you are comparing against. This record is referred to as the “driver record.” The driver record is the record against which all other records loaded into memory are compared and scored.

    Merge/Purge Plus Client/Server

    Unlike other Group 1 client/server products, which require a single function call to process input data, the Merge/Purge Plus Client/Server requires several function calls to complete a single duplicate matching operation. This section provides a basic, step-by-step outline of the necessary calls.

    1 Identify the match driver record. The driver record is the record against which all other loaded records are compared and scored. In an interactive environment, this would likely be the record you enter through a user interface screen.

    2 Call the ClearRecords client function to reset the client’s internal record buffer. You should call ClearRecords each time a new matching process is started.

    Merge/Purge Plus Client/Server/-Web User’s Guide 1-3

  • 1 Introduction to Merge/Purge Plus Client/Server

    3 Retrieve the list of potential match records from your data source. You are to determine the data source and selection criteria. Often the source of records is an existing database. Typical selection criteria might be to select all records containing the same ZIP Code and first character of the last name as the driver.

    4 For each selected record:

    Populate an instance of the Merge/Purge Plus Client/Server name and address data structure with the record’s name and address information

    Call the LoadRecord function to store the record in the client’s internal record buffer. A maximum of 999 name and address records may be loaded.

    5 Once all the potential match records are loaded, it is time to score the records against the driver. Start by populating the name and address data structure with the driver’s name and address information.

    6 Set the Merge/Purge Plus comparison algorithm options using the control data structure.

    7 Call the ConnectMPClient function passing the address and port number of the Merge/Purge Plus Server. This initiates the sockets connection between the client and server.

    8 Call the ScoreRecords function passing the name and address and control data structures. If the call is successful, the function will return a degree of match score for each of the potential match records previously loaded.

    9 Call the ReleaseMPClient to release the connection to the server.

    10 Process the scores to determine which records matched the driver. The method of processing the scores and selecting one of more matches is left to the applications programmer.

    Merge/Purge Plus Client/Server can be called for processing from any application. At your discretion, you can invoke the callable functions, perform any number of sub-processing options, then return processing control to the main program.

    6.4.3 - 01/2003 1-4

  • 1 The Merge/Purge Plus Client/Server Objects

    hi

    The Merge/Purge Plus Client/Server Objects Group 1 also offers The Merge/Purge Plus Client/Server product comprises the APIs, COM objects, and Java address matching classes. The programming objects offer the same duplicate matching functions as found in and standardization client/server products the batch version of Merge/Purge Plus. for U.S., International, and Canadian Figure 1-1 illustrates the Merge/Purge Plus Client/Server technical infrastructure.addresses.

    Client Side Server Side

    TCP/IP

    Request Handler

    Address Database

    Group 1 Client COM Objects

    Group 1 Client C Library

    Group 1 Client Java Library

    Java objects

    TCP/IP

    Request Handler

    Address Database

    CO

    MJA

    VAC

    or V

    BA

    PIs

    TCP/IP

    Request Handler

    Address Database

    Group 1 Client C Library

    Figure 1-1: Merge/Purge Plus Client/Server Infrastructure

    Merge/Purge Plus Client/Server/-Web User’s Guide 1-5

  • 1 Introduction to Merge/Purge Plus Client/Server

    The C APIs

    The C APIs are dicsussed in Chapter 4.

    The Windows C Language Application Program Interface (C API) to Merge/Purge Plus enables you to access the Merge/Purge Plus functions from any Windows NT/2000 or higher 32-bit application supporting the C language call interface. Each function has a specific syntax, the parameters to use, the possible success and error codes returned, and any data that you need to pass to the program and that the program will return.

    When you call a module, you must pass the names of pre-defined parameter structures. These parameter structures are blocks of memory containing data that is used by both your driver program and the callable module.

    Each parameter structure has a specific map associated with it. These maps describe the data that is stored in each byte in the parameter structure. Because these maps are so specific, both the callable module and the driver program “know” where each piece of data is stored in the parameter structure. Therefore, instead of passing all of the data between the driver and the callable module, the only parameter that is passed between the two programs is the name of the parameter structure.

    NOTE: Each function includes a parameter structure called “long lFixedString” that allows you to null-terminate input/output strings or treat input/output strings as fixed buffers that are space-padded and not null-terminated. When defining this parameter structure, a value of “0” will cause the function to null-terminate character strings so that trailing spaces are trimmed. The elements in the following parameter structures include room for the null-termination byte, and this is shown as [+1] under the “Length” heading in the parameter structure maps. Any value you enter other than “0” will cause the function to treat character strings as fixed buffers, padding the remainder of the line with blanks.

    6.4.3 - 01/2003 1-6

  • The Merge/Purge Plus Client/Server Objects 1

    COM Objects

    The Merge/Purge COM objects are discussed in Chapter 5.

    The term Component Object Model (COM) refers to an open architecture for cross-platform development of client/server or web applications based on object-oriented technology. COM is a way of creating reusable software components. Clients have access to an object through interfaces implemented on the object. In other words, objects are the communication medium between client and server. The Component Object Model provides a flexible way for building distributed object-oriented systems. COM objects are language-independent, can be shipped in binary form, can be upgraded without requiring changes to the existing integrated code, and can be transparently relocated on a network. Because of these qualities, COM objects are extremely flexible and can be adapted to add specific functionality to almost any Windows-based client-server or internet-based system.

    Java Classes

    The Merge/Purge Java class is discussed in Chapter 6.

    A Java class is a blueprint or prototype that defines the variables and methods common to all objects of a certain type. A Java class also defines the implementation of a particular kind of object. It is with these classes that software developers can create Java applications. In general, Java classes are created from Java classes.

    A Java object is a collection of related variables and methods written in the Java language utilizing the Java Virtual Machine Interface (JVI). Java software objects are often used to model objects you find in everyday life. An automobile, for example, is an object in real life that has variables (color, size, transmission) and methods (speed, turning ability, horn sounds). A Java software object also has variables and methods. Variables include data such as the screen window x and y coordinates; methods include information such as screen window size or color.

    Merge/Purge Plus Client/Server/-Web User’s Guide 1-7

  • 1 Introduction to Merge/Purge Plus Client/Server

    How Can You Use Merge/Purge Plus Client/Server?

    Group 1 Software’s Merge/Purge Plus product enables users to to perform duplicate matching on their input name-and-address data. Users can load up to 999 records into memory at a time, and run comparisons to identify duplicate name-and-address records. This ability to load and compare groups of records is associated with a specific set of programming objects and is briefly described below.

    Merge/Purge Methods

    Merge/Purge methods takes the input data from the user application or web site (client), and attempts to match it against tables (server) that contain search arguments and result values. Merge/Purge Plus compares input data against the search arguments and, if it determines a match, returns the corresponding result value. Depending on the particular method used, the client application or web site needs to provide certain pieces of information to Merge/Purge Plus Client/Server to get a valid response. These requirements are listed under each API, COM or Java object-specific section of this manual.

    After the match attempt is made, Merge/Purge Plus returns a set of values to the client that describe the success or failure of the match attempt. These values can be interrogated for further action in the user application.

    Table 1-1 provides an overview of the duplicate matching methods available with Merge/ Purge Plus Client/Server. These methods are described in more detail in Chapters 4, 5, and 6 of this guide.

    Table 1-1: Overview of Merge/Purge Plus Client/Server Methods

    API Name COM Name Java Name Description

    ClearRecords Clear n/a Clears records previously loaded into the client’s record buffer. This function is typically called to begin a new Merge/Purge Plus matching process.

    LoadRecord Load AddRecord

    GetRecord

    GetNumCAndRecord

    Loads a single name and address record into the client’s record buffer. Typically, this function is called repeatedly to load multiple match candidates into the record buffer for scoring.

    ScoreRecord Score ScoreRecords Performs the Merge/Purge duplicate comparison, providing a degree of match score between each of the loaded candidate records and the passed driver record.

    6.4.3 - 01/2003 1-8

  • How Can You Use Merge/Purge Plus Client/Server? 1

    Using the Merge/Purge Objects

    To use an object, an application must instantiate the object, invoke the Connect method, then fill an input object. Once a connection is established, your application uses the programming objects to compare your input data, using the comparison algorithms, to identify duplicate records. Once the match information is obtained, your application disconnects. If you need to match another input record, your application reconnects and begins the process again.

    Merge/Purge Plus Client/Server/-Web User’s Guide 1-9

  • 1 Introduction to Merge/Purge Plus Client/Server

    1-10 6.4.3 - 01/2003

  • C H A P T E R 2

    Installing Merge/Purge Plus Client/Server

    This chapter explains the hardware and software requirements for Merge/Purge Plus Client/Server and provides instructions on installing the Merge/Purge Plus Server and Client components.

    The Windows Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Installing the Windows Server Component . . . . . . . . . . . . . . . . . . . . . . 2-2 Uninstalling the Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

    The Unix Server Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 The Windows Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

    System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Installing the Windows Client Component . . . . . . . . . . . . . . . . . . . . . . 2-6

    Uninstalling the Windows Client Component . . . . . . . . . . . . . . . . 2-6 The Unix C Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

    System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Installing the Unix C Client Component. . . . . . . . . . . . . . . . . . . . . . . . 2-8

    Making Shared Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 The Unix Java Client Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9

    System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Installing the Unix Java Client Component . . . . . . . . . . . . . . . . . . . . . 2-10

    Merge/Purge Plus Client/Server/-Web User’s Guide 2-1

  • 2 Installing Merge/Purge Plus Client/Server

    The Windows Server Component

    The Server portion of Merge/Purge Plus Client/Server must be installed on a Windows NT, Windows 2000, or later system. Before you install the server component of Merge/ Purge Plus Client/Server onto your machine, ensure the following:

    Your computer is running on an Intel-based processor (Pentium or higher).

    Your computer has Microsoft Windows NT 4.0 or later with at least 128 MB of RAM.

    You have up to 4 MB of free space on the hard disk to which you will install the software.

    NOTE: Although the server component is designed to run in a domain-networked environment, you can configure it for Windows Workstation using peer-to-peer access. However, we recommend that you install this application on a PC running Windows Server to fully utilize client/server processing.

    Installing the Windows Server Component

    The server component consists of the network communication software and the Merge/ Purge Plus database. The installation program for the server component is located on your Merge/Purge Plus Client/Server CD-ROM. Before you begin, make sure no other applications other than Windows are running.

    NOTE: You will need to obtain the server name from your system administrator or the person who installs Merge/Purge Plus.

    To install this component:

    1 Insert the Merge/Purge Plus Client/Server CD-ROM in your CD-ROM drive.

    2 Click on the [Start] button in the lower left corner of your desktop and select Run...

    3 In the Open text box, type:

    [CD-ROM drive]:\setup.exe

    For example, if your CD-ROM drive is “D,” type:

    d:\setup.exe

    6.4.3 - 01/2003 2-2

  • The Windows Server Component 2

    4 Click [OK].

    The Options dialog box appears.

    5 Click the Server icon.

    Follow the prompts during the installation process. When you are finished, be sure to open the README file.

    Uninstalling the Server Component

    If at any time you want to remove the server component of Merge/Purge Plus Client/ Server:

    1 Click on the [Start] button in the lower-left corner of your desktop and select Programs.

    2 Select Merge/Purge Plus Server.

    3 Select Uninstall Merge/Purge Plus Server Software, and the product will be deleted from your system.

    Merge/Purge Plus Client/Server/-Web User’s Guide 2-3

  • 2 Installing Merge/Purge Plus Client/Server

    The Unix Server Component

    Before you install the Unix server component of Merge/Purge Plus Client/Server onto your machine, ensure that you have at least 1 GB of free space on the hard drive to install the software.

    The server component consists of the network communications software. The installation program for the server component is located on Merge/Purge Plus Client/Server CD-ROM. To install this component:

    1 Insert the Merge/Purge Plus Client/Server CD-ROM into your CD-ROM drive.

    2 Change directory (cd) to the CD-ROM.

    3 At the prompt, type:

    ./install

    4 Follow the prompts during the installation process.

    5 When you are finished, be sure to open and read the README file.

    6.4.3 - 01/2003 2-4

  • The Windows Client Component 2

    The Windows Client Component

    The Windows client component of Merge/Purge Plus Client/Server consists of the following:

    Text-based matcher/SAMPLE transaction user interface

    The DLLs that can be used by a client application to access the matcher functionality across the network

    Sample programs in C and Visual Basic so you can write your own interface. These are located in the \samples subdirectory.

    You can install the client component over the network using the CD-ROM drive on the server, or you can use diskettes created from the CD-ROM for each client.

    System Requirements

    Before you install the client component of Merge/Purge Plus Client/Server onto your machine, ensure the following:

    Your computer has Windows 9x/ME running on an Intel-based processor (486 or higher) or it has Windows Server/Workstation 4.0/Windows 2000 running on an Intel-based processor (486 or higher).

    Your computer has at least 64 MB of RAM.

    You have at least 3 MB of free space on your hard disk to which you will install the software.

    Your PC is part of a network and is able to connect to a machine running the server component of Group 1 Software’s Merge/Purge Plus Client/Server.

    NOTE: The client component communicates directly with TCP/IP network drivers which must be loaded by the operating system.

    Merge/Purge Plus Client/Server/-Web User’s Guide 2-5

  • 2 Installing Merge/Purge Plus Client/Server

    Installing the Windows Client Component

    The installation program for the client component is located on your Merge/Purge Plus Client/Server CD-ROM. Before you begin, make sure no other applications other than Windows are running. To install this component:

    1 Insert the Merge/Purge Plus Client/Server CD-ROM in your CD-ROM drive.

    2 Click on the [Start] button in the lower-left corner of your desktop and select Run...

    3 In the Open text box, type:

    [CD-ROM drive]:\setup.exe

    For example, if your CD-ROM drive is “D,” type:

    d:\setup.exe

    4 Click [OK].

    The Options dialog box appears.

    5 Click the Client icon.

    Follow the prompts during the installation process. When you are finished, be sure to open the README file.

    Uninstalling the Windows Client Component

    If at any time you want to remove the client component of Merge/Purge Plus Client/ Server:

    1 Click on the [Start] button in the lower-left corner of your desktop and select Programs.

    2 Select Merge/Purge Plus Client.

    3 Select Uninstall Merge/Purge Plus Client Software, and the product will be deleted from your system.

    6.4.3 - 01/2003 2-6

  • The Unix C Client Component 2

    The Unix C Client Component

    The Unix C client components are installed with the server product and are located in the $G1MPS/client/unix_c_client subdirectory. However, you can also install the client software (Unix C client, Java client, and Windows Basic client) on other servers or machines via the CD-ROM or a network. The clients are located on the product CD-ROM in the client subdirectory off of the root. The Unix C and Java clients are in client/unix while the Windows Basic setup code is in client/i386.

    You can install the Unix client components over the network using the server’s CD-ROM drive or directly onto the server machine. The Merge/Purge Plus Client/Server CD-ROM contains a sample program in C as well as the C source files to create your own interface. These files are located in the client/unix sub-directory on the CD.

    The Unix component consists of the following:

    C sample code and header files

    makefile to create the sample executable (makefile)

    makefiles to create shared objects for the following platforms:

    — AIX

    — Digital Alpha

    — HP-UX

    — RedHat Linux

    — Solaris.

    System Requirements

    Before you install the Unix C client component of Merge/Purge Plus, ensure the following:

    Your computer is running Unix and has an ANSI C compiler

    If you are not installing on the Unix server, make sure your machine is part of a network and is able to connect to the machine running the server daemon of Merge/ Purge Plus.

    Merge/Purge Plus Client/Server/-Web User’s Guide 2-7

  • 2 Installing Merge/Purge Plus Client/Server

    Installing the Unix C Client Component

    As mentioned above, the Unix C client is installed with the product and is located in the $G1MPS/client/unix_c_client subdirectory. However, if you wish to install the client on another machine, follow these steps.

    1 Insert the Merge/Purge Plus Client/Server CD-ROM into your CD-ROM drive.

    2 Copy (cp) the source files from /client/unix/ unix_c_client. For example, if your mount point is /cd, enter:

    cp /cd/client/unix/unix_c_client/* .

    This will copy all files from the CD-ROM to the current directory.

    Once you have copied the source files to the target machine, you can create a sample client by editing (vi) the Makefile for proper directory structures. Once the Makefile is correct, enter the word make.

    Making Shared Objects

    A make file is included with the unix_c_client directory showing how to make a shared object on various Unix platforms. To create a shared object using the C code, type:

    make -f g1mpmatc_xxx.mk

    where xxx is the platform target (e.g., solaris, Linux, AIX, etc.) This will create a libg1mpmatc.so (.sl on HP-UX) file in the $G1MPS/lib/C area. The makefile may need to be customized for your particular environment and platform.

    If you are creating your own user interface, include the following in your Makefile:

    cobutil.o

    mpconv.o

    g1mpmatc.o

    syserrors.o

    In addition, make sure the header files (*.h) are available.

    6.4.3 - 01/2003 2-8

    http:libg1mpmatc.sohttp:g1mpmatc_xxx.mk

  • The Unix Java Client Component 2

    The Unix Java Client Component

    The Unix Java client components are installed with the server product and are located in the $G1MPS/client/java_client subdirectory. However, you can also install the client software (Unix C client, Java client and Windows Basic client) on other servers or machines via the CD-ROM or a network. The clients are located on the product CD-ROM in the client subdirectory off of the root. The Unix C and Java clients are in client/ unix while the Windows Basic setup code is in client/i386.

    You can install the Unix Java client component over the network using the server’s CD-ROM drive or directly onto the web server machine. The Merge/Purge Plus CD-ROM contains sample programs in Java as well as the source files to create your own interface. These files are located in the client/unix/java_client sub-directory on the CD, and are archived in a .tar file (i.e., mps_java.tar).

    The Java component inside the tar file consists of the following:

    Java source code

    Makefiles to create the Merge/Purge Plus Java classes and test program.

    System Requirements

    Before you install the Unix Java client component of Merge/Purge Plus Client/Server, ensure the following:

    Your computer is running Unix and has appropriate Java JDK (Java Development Kit) and JRE (Java Runtime Environment) development files.

    If you are not installing on the Unix server, make sure your machine is part of a network and is able to connect to the machine running the Merge/Purge daemon.

    Merge/Purge Plus Client/Server/-Web User’s Guide 2-9

  • 2 Installing Merge/Purge Plus Client/Server

    Installing the Unix Java Client Component

    As mentioned above, the Unix Java client is installed with the product and is located in the $G1MPS/client/java_client subdirectory. However if you wish to install this client on another machine, follow these steps.

    1 Insert the Merge/Purge Plus Client/Server CD-ROM into your CD-ROM drive.

    2 Change directory to the Java area: /client/unix/ java_client. For example, if your mount point is /cd, enter:

    cd /cd/client/unix/java_client

    3 Copy the tar file to the directory where you wish to install the client

    OR

    FTP (binary mode) the tar file to the directory of the target machine. NOTE: The tar file is named mps_java.tar.

    Untar the file into the target directory using the following command:

    tar -xvf mps_java.tar

    This will untar the Java client source code, makefile, and the sample test program.

    4 Change the Java_MPS.mk file to reflect your development area, being sure to set the appropriate environment variables as described in the Java_MPS.mk file.

    5 Once you have created the class files, you can use the java test sample program, MPS_TestMatch.java to see how the class objects are used. Change directory to the testclass subdirectory and compile the MPS_TestMatch.java code.

    6 Please refer to the README.JAVA file located in $G1MPS/data for more detailed help.

    The Windows client component is included on the Merge/Purge Plus Client/Server CD-ROM and can be located in the client/i386/disk1 and disk2 subdirectories off of the root. To install the Windows client component, please refer to the “Installing the Windows Client Component” section located earlier in this chapter.

    2-10 6.4.3 - 01/2003

    http:Java_MPS.mkhttp:Java_MPS.mk

  • C H A P T E R 3

    Server and Client Configuration

    This chapter explains how to change the server configuration and Services startup options, if necessary, for the Windows environment. It also explains how to configure the Unix server and client configurations for the Unix server.

    The Windows Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 The Server Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Changing Windows Services Startup Option . . . . . . . . . . . . . . . . . . . . . 3-5 Performance Monitor Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

    The Unix Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Windows Client Configuration for Unix Server . . . . . . . . . . . . . . . . . . . 3-9 Unix Client Configuration for Unix Server . . . . . . . . . . . . . . . . . . . . . 3-10

    Merge/Purge Plus Client/Server/-Web User’s Guide 3-1

  • 3 Server and Client Configuration

    The Windows Server Configuration

    After you install the product on the Windows client and server machines, you need to run the configuration program. The Merge/Purge Plus Server relies on several registry entries to function properly. You can also change these parameters after you install the server module by running the server configuration program. This program configures parameters that are related to network access and server performance. The server configuration program is called MPSrvCfg.exe and is explained in the following sections.

    NOTE: When you run a server configuration program to change existing parameters, you need to stop the service and then restart it.

    The Server Configuration

    Use the following instructions to configure the Merge/Purge Plus Server:

    1 Execute the MPSrvCfg.exe configuration program. This program is located in the DLL directory under the Merge/Purge Plus Server root directory. The Server Configuration dialog box appears. Default values are shown below.

    6.4.3 - 01/2003 3-2

  • The Windows Server Configuration 3

    2 If necessary, modify the server settings to match your environment and requirements. A brief description of each field appears in Table 3-1.

    NOTE: The installation program uses default values for the configuration entries. In general, you should not need to change these values.

    Table 3-1: General Configuration Settings

    Item Description Instructions Default Values

    Root Directory Enter the location for the Merge/Purge Plus Server. The default is \Program Files\ Group1\MPP\Server

    Tables Directory Enter the location for the Merge/Purge Plus tables. The default is \Program Files\ Group1\MPP\Server\Tables

    Port Text Box Enter the TCP/IP port on which clients will connect to the Merge/Purge Plus Server

    The default is 3026.

    Server Tuning Parameters Group

    Max Process Count Text Enter the number of Matcher background processes Box permitted to reside on the Server simultaneously.

    As the Server receives multiple requests from clients, each request is assigned to one of the background processes. When the number of requests exceeds the number of allowed background processes, the Server places the requests in a queue to wait for the first available process.

    NOTE: This works most effectively on a multi-CPU Server. The actual results may vary depending upon the number and type of processors, the amount of memory, disk speed, and the number of other applications currently running on the Server. If too many background processes are running, response time may degrade. The System Administrator can tune the Server response by editing this text box.

    The default is 3 request handlers.

    NOTE: In most cases, 3 to 5 request handler processes is sufficient.

    Client Request Time-out Text Box

    Enter the maximum amount of time, in seconds, that the Merge/Purge Plus Server will wait to access the system resources or wait for the batch processing to start. If this time period is exceeded, the Server will report a time-out error to the client.

    The default is 10 seconds.

    Process Recovery Interval Text Box

    If client requests are timing out, a background matcher process may go offline. Enter the desired interval, in seconds, at which the Server checks to see if a background process has gone offline. The server will then attempt to recover/restart the client.

    The default is 10 seconds.

    3 Click [Apply] or [OK] to save the modified settings and exit, or [Cancel] to revert to the previous settings and exit. Changes to the settings will not take effect until you restart the Merge/Purge Plus Server.

    Merge/Purge Plus Client/Server/-Web User’s Guide 3-3

  • 3 Server and Client Configuration

    Changing Windows Services Startup Option

    Windows Services are programs that run in the background on a computer running the Windows operating system. There is a Windows Service program for the Matcher component that will handle the client requests. This program must be running in order to use Merge/Purge Plus Client/Server.

    The installation program for the server module defaults to automatically starting the service program when you boot your computer. You can, however, elect not to have the Service program start automatically, and an administrator will need to manually start the Service.

    To change the startup from automatic to manual on the server:

    1 Click the [Start] button in the lower-left corner of your desktop and select Settings.

    2 Select Control Panel > Administrative Tools, and click on the Services icon.

    3 Select Merge/Purge Plus Matcher Service, and click on the [Startup] button.

    The Service dialog box appears.

    4 Select the Manual radio button, and click on the [OK] button.

    5 Click on the [Close] button and exit Control Panel.

    Performance Monitor Enhancements

    Merge/Purge Plus Client/Server includes enhancements to the Windows Performance Monitor application that allow the system administrator to review Merge/Purge Plus Matcher processes on the Server that are being executed by clients.

    Using the Performance Monitor

    Once you have loaded Merge/Purge Plus Client/Server, you can add Performance Monitor objects for the Matcher service to the Windows Performance Monitor application. To add the Performance Monitor objects to this application:

    6.4.3 - 01/2003 3-4

  • The Windows Server Configuration 3

    1 From your desktop, click on the [Start] button and select Programs>Administrative Tools (Common)>Performance Monitor.

    The Performance Monitor window appears.

    2 Click on the Edit menu, and select Add to Chart, or click on the + sign on the toolbar.

    The Add to Chart dialog box appears.

    3 From the Object drop-down list box, select Merge/Purge Plus Matching Service.

    4 From the Counter list box, select the counter you want to monitor.

    5 Click on the [Add] button to save your changes.

    The counter appears in color-coded lines on the chart in the Performance Monitor window.

    6 Repeat steps 2 through 5 for each counter you want to monitor.

    Merge/Purge Plus Client/Server/-Web User’s Guide 3-5

  • 3 Server and Client Configuration

    The Unix Server Configuration

    Once the product and database files have been installed on the Unix Server, you are ready to launch the Server DAEMON. There are two default parameters for the Server DAEMON. These are:

    Location of the configuration file for the daemon (mpmatsrv.cfg). The default configuration file is located in the $G1DIR/mps/data subdirectory.

    The entries are:

    — logfilename=data/mpssrv.log

    — portnumber=3026

    You may change these entries by editing the mpmatsrv.cfg file in the data subdirectory.

    Location of the log file. The default log file will be located in the $G1DIR/mps/data subdirectory.

    TCP/IP port number. The default is 3026.

    Located in the $G1DIR/mps/bin subdirectory is a script called runmps which will launch the Server DAEMON with the defaults mentioned above. To continue the configuration follow the step below:

    1 To launch the Server DAEMON type:

    ./runmps

    NOTE: Merge/Purge Plus Client/Server will ask if you would like to log all client messages. If you enter yes or y to this question, messages between the Server DAEMON and all clients will be logged. While this can be very useful for debugging purposes, please keep in mind that this process creates a very large log file. We suggest that once the Merge/Purge Plus Client/Server system has been verified as “production ready,” logging should be turned off.

    Once you have selected logging/no logging, the process id (PID), log file location, and configuration file location will be echoed back to you for your information.

    You may invoke the runmps script at any time to determine the process ID (PID) of the Server DAEMON. Launching runmps with the Server DAEMON already running will not startup a second instance of the DAEMON. It will only return the PID of the running DAEMON.

    6.4.3 - 01/2003 3-6

  • The Unix Server Configuration 3

    Windows Client Configuration for Unix Server

    To configure the Merge/Purge Plus Client, you will need to know the port number and IP address or host name of the Unix Server. By default, the Server is configured for port 3026. This can be changed to suit your installation needs, as described in the previous section. If you do not know the IP address or host name of the Merge/Purge Plus Server, consult your Unix administrator.

    Once the client software has been loaded on the target machine (assuming the Server DAEMON is running), you may run the sample VB or C application to test the connection to the Server DAEMON.

    To start the VB application from the Windows desktop:

    1 Select Start>Programs>Merge/Purge Plus Client and Sample VB Application.

    2 When the Connect Information screen appears, enter the host name or IP address of the Unix machine running the Server DAEMON.

    3 Enter the port number as defined in the mpmatsrv.cfg file found in the Server DAEMON machine subdirectory ($G1MPS/data).

    4 Once the connection is established, enter an address.

    The Client process will send a message to the Server requesting a child process to start up and pass the information to the Merge/Purge Plus program. The program will then return the proper information or an error code if the process failed.

    Merge/Purge Plus Client/Server/-Web User’s Guide 3-7

  • 3 Server and Client Configuration

    Unix Client Configuration for Unix Server

    To configure the Merge/Purge Plus Unix Client, you will need to know the port number and IP address or host name of the Merge/Purge Plus Server. By default, the Server is configured for port 3026. This can be changed on the Server. To change the port address:

    1 Change directories to the /data directory under the directory where you installed Merge/Purge Plus Client/Server.

    For example, if you installed into /usr/g1, change directory to /usr/g1/mps/ data. A file called mpmatsrv.cfg is located in that directory. It contains the default address of 3026.

    2 Edit (vi) the file and replace the port number 3026 with the port of your choice.

    3 Stop and restart the mpsmatsrv daemon process, if it is running.

    Once the client software has been loaded on the target machine (assuming the Server DAEMON is running), you may run the sample C application to test the connection to the Server DAEMON.

    To run the sample.c client:

    1 Type sample and enter the IP address or machine name (if your DNS is set up for this functionality).

    2 Enter the same port number that is indicated in mpmatsrv.cfg.

    3 Once you have established a connection, enter an appropriate entry.

    The client sends a message to the Server DAEMON requesting a child process to start which passes the information to the casing process. When this is complete, the matching process returns candidate record scores or an error code to the client.

    Please note that any changes to the mpmatsrv.cfg file or any environmental variables will not take effect until the current Merge/Purge Plus DAEMON is stopped and restarted.

    6.4.3 - 01/2003 3-8

  • C H A P T E R 4

    Calling Modules Using the C API

    This chapter describes how to call the Merge/Purge Plus program modules from your Windows 32-bit application using the C Language Application Program Interface (C API).

    What is the C API for Merge/Purge Plus? . . . . . . . . . . . . . . . . . . . . . . 4-2 Return Code Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 ConnectMPClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

    Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

    ReleaseMPClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

    ClearRecords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

    LoadRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

    ScoreRecords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Input Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Output Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-1

  • 4 Calling Modules Using the C API

    What is the C API for Merge/Purge Plus?

    The Windows C Language Application Program Interface (C API) to Merge/Purge Plus enables you to access five Merge/Purge Plus functions from any Windows 32-bit application supporting the C language call interface. Using the C API, you can access the following Merge/Purge Plus functions from your application:

    ConnectMPClient — initiates connection to the server.

    ReleaseMPClient — releases connection to the server.

    ClearRecords — clears records previously loaded into the client’s record buffer. This function is typically called to begin a new Merge/Purge Plus matching process

    LoadRecord — loads a single name and address record into the client’s record buffer. Typically, this function is called repeatedly to load multiple match candidates into the record buffer for scoring. When the ScoreRecords function is called, the Merge/Purge Plus Server will return a match score for each of the loaded records.

    ScoreRecords — performs the Merge/Purge duplicate comparison, providing a degree of match score between each of the loaded candidate records and the passed driver record.

    This chapter describes the syntax for calling each function, the parameters to use, the possible success and error codes returned, and any data that you need to pass to the program and that the program will return.

    NOTE: Your Merge/Purge Plus program disk contains sample source code for C language and Visual Basic. Please refer to the README file on your program disk for the names of these files.

    6.4.3 - 01/2003 4-2

  • 4 Return Code Table

    Return Code Table

    The following table defines the possible codes returned by the Merge/Purge Plus Client/Server.

    Table 4-1: Return Codes

    Return Code Value Description

    MERGE/PURGE PLUS PROCESSING RETURN CODES

    MPAPI_SUCCESS 0 Success

    MPAPI_CANT_LOAD_LIBRARY 1 Can’t load the Merge/Purge Plus DLL.

    MPAPI_CANT_UNLOAD_LIBRARY 2 Can’t unload the Merge/Purge Plus DLL.

    MPAPI_CANT_GET_ENVIR_VARIABLE 3 Can’t find a required environment variable.

    MPAPI_CANT_SET_ENVIR_VARIABLE 4 Can’t set a required environment variable.

    MPAPI_CANT_ALLOC_MEMORY 5 Can’t allocate sufficient memory to load a Name and Address record.

    MPAPI_MAX_RECS_LOADED 6 Can’t load a Name and Address record because the maximum number of records has been reached.

    NOTE: Maximum is currently 999.

    MPAPI_MERGE_PURGE_WARNING 14 Merge/Purge Plus returning a warning.

    MPAPI_MERGE_PURGE_ERROR 18 Merge/Purge Plus returned an error.

    CLIENT/SERVER COMMUNICATION RETURN CODES

    MPAPI_TIMEOUT 201 Communication between client and server timed out.

    MPAPI_SERVER_SYSTEM 202 A system error occurred at the server.

    MPAPI_PROCESS_INIT 203 Error initializing process.

    MPAPI_CANT_CONNECT 204 Unable to connect with Merge/Purge Plus Server.

    MPAPI_CANT_BIND 205 Unable to bind to Merge/Purge Plus Server.

    MPAPI_CANT_FREE_BINDING 206 Unable to free the binding to the MP Server.

    MPAPI_NO_MEM 207 Unable to allocate memory for communications.

    MPAPI_SOCKET 208 A socket error occurred.

    MAPI_COMM 209 A communications error occurred.

    MPAPI_CLIENT_INIT 210 Client initialization failed.

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-3

  • 4 Calling Modules Using the C API

    ConnectMPClient

    ConnectMPClient initiates the communication link between the Merge/Purge Plus client and server.

    Syntax

    ConnectMPClient (szHostName, nPortNumber);

    Parameters

    char *szHostName; * Host Name or IP Address of Server */

    int nPortNumber; /* Port Number of Server */

    6.4.3 - 01/2003 4-4

  • 4 ReleaseMPClient

    ReleaseMPClient

    ReleaseMPClient safely releases the communication link between the Merge/Purge client and server.

    Syntax

    ReleaseMPClient();

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-5

  • 4 Calling Modules Using the C API

    ClearRecords

    ClearRecords clears records previously loaded into the client’s record buffer. This function is typically called to begin a new Merge/Purge Plus matching process.

    NOTE: The ClearRecords function does not require a connection to the Merge/Purge Plus Server. Therefore, it is not necessary to call ConnectMPClient before calling this function.

    Syntax

    ClearRecords();

    6.4.3 - 01/2003 4-6

  • 4 LoadRecord

    LoadRecord

    LoadRecord loads a single name and address record into the client’s record buffer. Typically, this function is called repeatedly to load multiple match candidates into the record buffer for scoring. When the ScoreRecords function is called, the Merge/Purge Plus Server will return a match score for each of the loaded records.

    NOTE: The LoadRecord function does not require a connection to the Merge/Purge Plus Server. Therefore, it is not necessary to call ConnectMPClient before calling this function.

    Syntax

    LoadRecord (&stNameAddr, lFixedString);

    Parameters

    char MPNAMEADDRESS stNameAddr; /* MP Name/Address Structure */

    long lFixedString;

    Input Structure

    The input structure for MPNAMEADDRESS is as follows.

    Table 4-2: Definition of MPNAMEADDRESS Input Structure

    Data Element Data Type Description

    szName char[100+1] Name in natural order

    szPriAddress char[100+1] Primary street address line

    szSecAddress char[100+1] Secondary street address line

    szCityState char[50+1] City/State information

    szZIP char[10+1] ZIP Code or equivalent.

    NOTE: Only the first 6 bytes are used in comparisons.

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-7

  • 4 Calling Modules Using the C API

    Code Example

    #include "mrgprg.h" #include "g1mpmatc.h"

    MPNAMEADDRESS stNameAddr; long lFixedString; long lReturnCode;

    strcpy (stNameAddr.szName, "Mary Smith"); strcpy (stNameAddr.szPriAddress, "4200 Parliament Pl"); strcpy (stNameAddr.szSecAddress, "Suite 600"); strcpy (stNameAddr.szCityState, "Lanham, MD"); strcpy (stNameAddr.szZIP, "20706"); lFixedString = 0;

    lReturnCode = LoadRecord (&stNameAddr, lFixedString);

    6.4.3 - 01/2003 4-8

  • 4 ScoreRecords

    ScoreRecords

    ScoreRecords performs the Merge/Purge duplicate comparison, providing a degree of match score between each of the loaded candidate records and the passed driver record.

    Syntax

    ScoreRecords (&stControl, &stNameAddr, &stResults, lFixedString );

    Parameters

    char MPCONTROL stControl; /* Merge/Purge Scoring Algorithm Control Options Structure */

    char MPNAMEADDRESS stNameAddr; /* MP Name/Address Structure */

    char MPRESULTS stResults; /* Merge/Purge Results Structure */

    long lFixedString;

    Input Structure

    The input structure for MPCONTROL is as follows.

    Table 4-3: Definition of MPCONTROL Input Structure (Part 1 of 6)

    Data Element Data Type Description

    cNameFormat char Name Format Flag

    Options?

    cZIPCodeStrict char ZIP Code Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-9

  • 4 Calling Modules Using the C API

    Table 4-3: Definition of MPCONTROL Input Structure (Part 2 of 6)

    Data Element Data Type Description

    szZIPCodeOpts char[4+1] ZIP Code Matching Special Options:

    3 The first 3 characters of the ZIP Code or Postal code must be equal for the records to be duplicates.

    N If the name and ZIP code are equal, then the records are duplicates, regardless of any other address information.

    NOTE: If option N is invoked, and the formatted names and ZIP Codes in both records are equal, then the program returns a match score of ZN.

    cSurnameStrict char Surname/Company Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    szSurnameOpts char[4+1] Surname/Company Matching Special Options:

    I The initial letter of both surnames must be equal for the records to be duplicates.

    N All names are to be treated as natural names. If option N is not specified, then a blank name, resident name, or occupant name are treated as resident records and the name will not contribute to the comparison. If option N is specified, all resident or occupant names will be considered as names, and resident will not match occupant.

    X All names will be treated as resident names and will not contribute to the comparison.

    NOTE: If option X is invoked, and the addresses are determined to be duplicates, then the program returns a match score of RS.

    cIndNameStrict char Individual Name Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    4-10 6.4.3 - 01/2003

  • 4 ScoreRecords

    Table 4-3: Definition of MPCONTROL Input Structure (Part 3 of 6)

    Data Element Data Type Description

    szIndNameOpts char[4+1] Individual Name Matching Special Options:

    G If option G is specified, and two records have the same name, except that one has the title Mrs., and the sex of the name (alone) is indeterminate because the name is ambiguous or just initials, the names are permitted to match. For example, if option G is specified then A. B. Smith and Mrs. A. B. Smith at the same address will be duplicates. If option G is not specified, these two names will not be identified as duplicates.

    M Two records are not duplicates if the title of one is Mrs. and the title of the other is Miss. If option M is not specified, two identical names at the same address will be considered duplicates, regardless of title.

    cHouseNoStrict char House Number Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    szHouseNoOpts char[4+1] House Number Matching Special Options:

    L No duplicates exist if the lengths of the house numbers are not equal.

    cStrNameStrict char Street Name Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-11

  • 4 Calling Modules Using the C API

    Table 4-3: Definition of MPCONTROL Input Structure (Part 4 of 6)

    Data Element Data Type Description

    szStrNameOpts char[4+1] Street Name Matching Special Options:

    H Two records are not duplicates if: the highway numbers are not equal, and the street name is in the form Highway 61 or Route 66; or the first 4 characters of a numeric street name are not equal; or the first 4 characters of a street name beginning with AV (such as Avenue A) are not equal.

    I Two records are not duplicates if: the first character of the street name is not equal; or the first 3 characters of a numeric street name are not equal; ore the first 3 characters of the highway number are not equal.

    4 Two records are not duplicates if the first 4 characters of the street name are not equal.

    D Two records are not duplicates if their street names have unequal directionals.

    cPOBoxStrict char Post Office Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    szPOBoxOpts char[4+1] Post Office Matching Special Options:

    P If one record contains a post office box and the other contains a rural route box, then the two box numbers should not be compared.

    cRRBoxStrict char Rural Route and Box Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    4-12 6.4.3 - 01/2003

  • 4 ScoreRecords

    Table 4-3: Definition of MPCONTROL Input Structure (Part 5 of 6)

    Data Element Data Type Description

    cAptNoStrict char Apartment Number Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    szAptNoOpts char[4+1] Apartment Number Matching Special Options:

    A If one record contains an apartment number and the other does not, then the records are not duplicates.

    cGeneralStrict char General Address Matching Strictness:

    E The fields must be equal.

    T The comparison should be tight.

    M The comparison should be medium.

    L The comparison should be loose.

    X Do not compare these fields.

    szGeneralOpts char[4+1] General Address Matching Special Options:

    U Two records which have similar but non-identical names, and no address elements in common, are permitted to match. If you do not specify option U, John P Smith at RR4 Box 567 WILL match John P Smith at 123 Main Street, but WILL NOT match J P Smith at 123 Main Street. If you select option U, both of the Main street addresses will match the rural address.

    X Two records which have no address elements in common are not duplicates, regardless of the names. If you specify option X, John P Smith at RR4 Box 567 WILL NOT match John P Smith at 123 Main Street.

    Y Two records with “equal” names are not considered duplicates before the street name elements have been compared. If you specify option Y, John P Smith at 123 Main Street WILL NOT match John P Smith at Boston College.

    Merge/Purge Plus Client/Server/-Web User’s Guide 4-13

  • 4 Calling Modules Using the C API

    Table 4-3: Definition of MPCONTROL Input Structure (Part 6 of 6)

    Data Element Data Type Description

    cHousehldStrict char Household Determination Matching Strictness:

    E