# Address Toolkit for i Documentation --- # System Requirements > Lists the supported IBM i OS versions (7.3-7.6) for Address Toolkit for i. ## Operating System Level Support Address Toolkit for i can be used on the following operating system versions: * IBM i OS 7.6 * IBM i OS 7.5 * IBM i OS 7.4 * IBM i OS 7.3 --- # Installing Address Toolkit for i > Step-by-step instructions for installing Address Toolkit for i, from extracting the save file through FTP transfer, library restore, and license activation. 1. Unzip the downloaded file to `C:\temp` (or the directory of your choice). 2. Create the \*SAVF to upload to on your IBM i: `CRTSAVF FILE(QGPL/ATI) AUT(*ALL)` 3. FTP the file ATI.SAVF from your PC to the IBM i. Open a command prompt (Start → Run → enter 'cmd' and hit enter). Type the following into the command prompt, replacing the IP address with that of your IBM i. When prompted, enter your IBM i username and password. 1. `ftp 123.456.789.123` 2. `binary` 3. `lcd c:\temp` 4. `quote site namefmt 0` 5. `cd QGPL` 6. `put ATI.savf ATI.savf` 7. `quit` 4. Restore the library from the \*SAVF: `RSTLIB SAVLIB(ATI) DEV(*SAVF) RSTLIB(ATI) SAVF(QGPL/ATI)` 5. Add the library to your library list: `ADDLIBLE ATI` 6. Restore the IFS \*SAVF: `RST DEV('/qsys.lib/ati.lib/ifs.file') OBJ(('/ktprod/ati' *INCLUDE '/ktprod/ati')) CRTPRNDIR(*YES) PRNDIROWN(QSYS) ALWOBJDIF(*ALL)` 7. Apply your license key: `APYLIC LICKEY(<>) PRODUCT(ATI)` 8. Apply your ATI service API key: Open the ATI/ATICFGKEY file using UPDDTA or a similar database file modification utility, and enter the key into the provided \*DEFAULT record, and then save the changes. --- # Upgrading Address Toolkit for i > Procedures for upgrading to a new Address Toolkit for i version, preserving configuration files while restoring updated objects. **Note:** - \### is the simple version number of the target/new version level (example: 110 for v1.1.0) For clarity, you may wish to copy these instructions to a text editor and then perform a scan and replace for the above values before beginning the upgrade. 1. Unzip the downloaded file to `C:\temp` (or the directory of your choice). 2. Create the \*SAVF to upload to on your IBM i: `CRTSAVF FILE(QGPL/ATI###) AUT(*ALL)` 3. FTP the file ATI.SAVF from your PC to the IBM i. Open a command prompt (Start → Run → enter 'cmd' and hit enter). Type the following into the command prompt, replacing the IP address with that of your IBM i. When prompted, enter your IBM i username and password. 1. `ftp 123.456.789.123` 2. `binary` 3. `lcd c:\temp` 4. `quote site namefmt 0` 5. `cd QGPL` 6. `put ATI.savf ATI###.savf` 7. `quit` 4. Perform a full backup of your ATI library. 5. Execute the following IBM i command to upgrade the ATI library (this is all one command): `RSTOBJ OBJ(*ALL) SAVLIB(ATI) MBROPT(*ALL) ALWOBJDIF(*FILELVL *OWNER) OMITOBJ((LICP) (ATICFGENV) (ATICFGKEY) (ATIUNQ)) RSTLIB(ATI) DEV(*SAVF) SAVF(QGPL/ATI###)` After running the `RSTOBJ` command, use `DSPJOBLOG` and press F10 to view the results of the `RSTOBJ`. Make a note of any objects that failed to restore, and either delete or rename the corresponding objects from the ATI library. Once you have renamed or deleted any conflicting objects, run the `RSTOBJ` command again and confirm that there are no further errors. 6. Execute the following IBM i command to restore updates to necessary files in the IFS (this is all one command): `RST DEV('/QSYS.LIB/ATI.LIB/IFS.FILE') OBJ(('/ktprod/ati' *INCLUDE '/ktprod/ati')) CRTPRNDIR(*YES) PRNDIROWN(QSYS) ALWOBJDIF(*ALL)` --- # Uninstalling Address Toolkit for i > Covers removing Address Toolkit for i by deleting the ATI library and IFS directory. Address Toolkit for i licenses may be transferred to a different IBM i, or a different partition. Part of this process will involve uninstalling the product from the original machine/partition. 1. Delete the Address Toolkit for i install library: `DLTLIB ATI` 2. Run QShell command to recursively remove the Address Toolkit for i IFS directory and everything in it: `QSH CMD('rm -Rf /ktprod/ati')` --- # License Transfer > Explains how to transfer an Address Toolkit for i license from one IBM i system or partition to another. Address Toolkit for i licenses may be transferred to a different IBM i, or a different partition. To do this, you will need to provide us with screenshots of the following information with the ATI library in your library list: * The currently installed version of Address Toolkit for i: `DSPVER` * Machine info for each LPAR a license is being moved from: `DSPMCHINF` * Machine info for each LPAR a license is being moved to: `DSPMCHINF` If you don't currently have access to the system you're migrating to, please let us know and we can provide a temporary license until you can provide information for us to generate a permanent license key. Please email this information to isupport@katointegrations.com. --- # Address Toolkit for i Changelog > Version history for Address Toolkit for i, detailing changes per release including API updates, OS requirements, and new features. The current version of Address Toolkit for i is **1.2.0** ## [1.2.0](#120) - Moved minimum supported OS to IBM i 7.3 - Changed base API URL stored in ATICFGENV - Disabled strict SSL certificate verification - Enabled gzip compression ## [1.1.0](#110) - [New] Added ATI_ValidateInternational() to allow non-US address validation and accompanying database files ATIINTREQ and ATIINTRSP ## [1.0.0](#100) - Initial release --- # Replication Instructions > High-availability and DR guidance, specifying that the LICP file must be excluded from replication. When setting up replication for high-availability or disaster recovery systems, please exclude the following objects: * ATI/LICP *FILE --- # ATI_GetUniqueID() > Generates a unique numeric identifier required as a primary key for all ATI API requests and database records. This subprocedure is used to generate a unique numeric identifier for your request to ATI's API. The generated numeric unique ID is also used as a primary key in several DB2 physical files. ## Subprocedure Prototype | Field | Description | |---|---| | `Dcl-Pr ATI_GetUniqueID Like(ATI_UniqueID_t) ExtProc(*DclCase);` | Returns a unique numeric value | | `End-Pr;` | | --- # ATI_ValidateStreet() > Validates a US address by street/ZIP or street/city/state, returning results in the ATIADRRSP response file and candidate matches in ATICANDS. ATI_ValidateStreet() can validate a US address when provided with the following data: - Street address (and optionally secondary info) and the ZIP Code - Street address, city, and state (and optionally a ZIP Code) For Puerto Rican addresses, the Urbanization value may also be required. To achieve this, first generate a unique ID with ATI_GetUniqueID(), then populate and write a record to ATIADRREQ that contains the address data to be validated. Then, call ATI_ValidateStreet() by passing in your unique ID and other parameters as shown. ATI_ValidateStreet() will return *On if no error occurred, or *Off if there an error was encountered. If an error occurred, you can review the subfields in the ErrorDS parameter data structure to retrieve information about the error. Errors are also logged in the file ATIERRLOG. ## Subprocedure Prototype | Field | Description | |---|---| | `Dcl-Pr ATI_ValidateStreet Ind ExtProc(*DclCase);` | Returns *OFF if an error occurs during processing, *ON otherwise. | | ` pUniqueId Like(ATI_UniqueID_t) Const;` | Unique ID generated with ATI_GetUniqueID() | | ` pConfigID Like(ATI_ConfigID_t) Const;` | Config ID of config record to load | | ` pErrorDS LikeDS(ATI_ErrorDS_t) Options(*Omit:*NoPass);` | Error data structure used to capture errors | | ` pCandidates Uns(10) Const Options(*NoPass);` | Limit maximum number of address candidates for ambiguous input | | ` pMatchType Uns(10) Const Options(*NoPass);` | The match output strategy to be employed for this lookup **Valid Values:** `ATI_MATCH_STRICT`, `ATI_MATCH_RANGE`, `ATI_MATCH_INVALID` | | `End-Pr;` | | ## Data Structures ### ATI_ErrorDS_t | Field | Description | |---|---| | `Dcl-Ds ATI_ErrorDS_t Qualified Template Inz;` | | | ` MessageCode VarChar(10);` | Message code of error message | | ` Message VarChar(1024);` | Error message text | | ` Source VarChar(10);` | Error message source | | ` Subprocedure VarChar(132);` | Subprocedure which received error | | ` LogFile Like(ATI_FilePath_t);` | IFS filepath of generated log file | | `End-Ds;` | | ## Input Table Files ### ATIADRREQ | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `UID` | `ADDRESSID` | `DECIMAL(24:0)` | Address Record Unique ID | | | `STREET` | `STREET` | `VARCHAR(100)` | Street Line 1 (or free-form input) | | | `SECONDARY` | `SECONDARYINFO` | `VARCHAR(32)` | Apartment, suite, or office number | | | `CITY` | `CITY` | `VARCHAR(64)` | City name | | | `STATE` | `STATE` | `VARCHAR(32)` | State name or abbreviation | | | `ZIPCODE` | `ZIPCODE` | `VARCHAR(16)` | ZIP Code | | | `ADDRESSEE` | `ADDRESSEE` | `VARCHAR(50)` | Name of the recipient, firm, or company | | | `URBZN` | `URBANIZATION` | `VARCHAR(64)` | Urbanization name (Puerto Rico only) | | | `REQTS` | `REQUESTTIMESTAMP` | `TIMESTAMP` | Request timestamp | | ## Output Table Files ### ATIADRRSP | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `UID` | `ADDRESSID` | `DECIMAL(24:0)` | Address Record Unique ID | | | `CRDUSED` | `CREDITSUSED` | `DECIMAL(2:0)` | Credits Used on This Request | | | `CURBLKRM` | `CURRENTBLOCKREMAINING` | `DECIMAL(9:0)` | Credits Remaining on Current Block | | | `ALLBLKRM` | `ALLBLOCKSREMAINING` | `DECIMAL(12:0)` | Credits Remaining on All Blocks | | | `CANDS` | `CANDIDATESRETURNED` | `DECIMAL(2:0)` | Number of Candidates Returned | | | `MTCHTYPE` | `MATCHTYPE` | `VARCHAR(10)` | Match Type Used | | | `MAXCANDS` | `MAXCANDIDATESQUANTITY` | `DECIMAL(2:0)` | Maximum Returned Candidates | | | `RSPTS` | `RESPONSETIMESTAMP` | `TIMESTAMP` | Response Timestamp | | ### ATICANDS | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `PID` | `ADDRESSID` | `DECIMAL(24:0)` | Address Record Unique ID | | | `UID` | `CANDIDATEINDEX` | `DECIMAL(2:0)` | Candidate Record Unique ID | | | `ADDRESSEE` | `ADDRESSEE` | `VARCHAR(50)` | Name of the recipient, firm, or company | | | `DLVLINE1` | `DELIVERYLINE1` | `VARCHAR(50)` | First delivery line (street address) | | | `DLVLINE2` | `DELIVERYLINE2` | `VARCHAR(50)` | Second delivery line (eg. private mailbox number) | | | `LASTLINE` | `LASTLINE` | `VARCHAR(50)` | Combined city, state, and zip code | | | `DVPBARCDE` | `DELIVERYPOINTBARCODE` | `VARCHAR(12)` | POSTNET barcode | | | `URBZN` | `URBANIZATION` | `VARCHAR(64)` | Urbanization name (Puerto Rico only) | | | `PRMNBR` | `PRIMARYNUMBER` | `VARCHAR(30)` | Primary house, PO box, or building number | | | `STREETNAME` | `STREETNAME` | `VARCHAR(64)` | Street name | | | `STRPREDIR` | `STREETPREDIRECTION` | `VARCHAR(16)` | Street pre-direction | | | `STRPSTDIR` | `STREETPOSTDIRECTION` | `VARCHAR(16)` | Street post-direction | | | `STRSFX` | `STREETSUFFIX` | `VARCHAR(16)` | Street suffix | | | `SCNDNBR` | `SECONDARYNUMBER` | `VARCHAR(32)` | Seconday apartment or suite number | | | `SCNDDSG` | `SECONDARYDESIGNATOR` | `VARCHAR(16)` | Secondary number designator (type) | | | `EXTSCNDNBR` | `EXTRASECONDARYNUMBER` | `VARCHAR(32)` | Extra secondary number information | | | `EXTSCNDDSG` | `EXTRASECONDARYDESIGNATOR` | `VARCHAR(16)` | Extra secondary number designator (type) | | | `PMBDSG` | `PMBDESIGNATOR` | `VARCHAR(16)` | Private mailbox designator | | | `PMBNBR` | `PMBNUMBER` | `VARCHAR(16)` | Private mailbox number | | | `CITYNAME` | `CITYNAME` | `VARCHAR(64)` | USPS-preferreed city name | | | `DFTCITY` | `DEFAULTCITYNAME` | `VARCHAR(64)` | Default city name for 5-digit ZIP Code | | | `STTABRV` | `STATEABBREVIATION` | `VARCHAR(2)` | State abbreviation | | | `ZIPCODE` | `ZIPCODE` | `VARCHAR(5)` | 5-digit ZIP Code | | | `PLUS4CODE` | `PLUS4CODE` | `VARCHAR(4)` | 4-digit ZIP Code extension | | | `DLVPT` | `DELIVERYPOINT` | `VARCHAR(2)` | Delivery point used in barcode | | | `DLVPTCHKDT` | `DELIVERYPOINTCHECKDIGIT` | `CHAR(1)` | Delivery point check digit | | | `DPVRCDTYP` | `DPVRECORDTYPE` | `CHAR(1)` | DPV record type | | | `ZIPMCHTYP` | `ZIPMATCHTYPE` | `VARCHAR(32)` | ZIP Code match type | | | `CNTYFIPS` | `COUNTYFIPSCODE` | `VARCHAR(5)` | County FIPS code | | | `CNTYNAM` | `COUNTYNAME` | `VARCHAR(64)` | County name | | | `EWSMATCH` | `EWSMATCH` | `VARCHAR(5)` | Early Warning System match | | | `CARRTE` | `CARRIERROUTE` | `VARCHAR(4)` | Postal carrier route | | | `CGRSDIST` | `CONGRESSIONALDISTRICT` | `VARCHAR(2)` | Congressional district | | | `BLDDFTIND` | `BUILDINGDEFAULTIND` | `CHAR(1)` | Building default address indicator | | | `RSDTDLVIND` | `RESIDENTIALDELIVERYIND` | `VARCHAR(12)` | Residential delivery indicator | | | `ELOTSQNC` | `ELOTSEQUENCE` | `VARCHAR(4)` | ELOT sequence number | | | `ELOTSORT` | `ELOTSORT` | `VARCHAR(4)` | | | | `LATITUDE` | `LATITUDE` | `VARCHAR(13)` | Geographic latitude | | | `LONGITUDE` | `LONGITUDE` | `VARCHAR(13)` | Geographic longitude | | | `PRECISION` | `LATLONGPRECISION` | `VARCHAR(18)` | Latitude and longitude precision | | | `TIMEZONE` | `TIMEZONE` | `VARCHAR(48)` | Time zone common name | | | `UTCOFFSET` | `UTCOFFSET` | `VARCHAR(5)` | UTC offset | | | `DST` | `DSTOBSERVED` | `CHAR(1)` | Daylight saving time observed | | | `DPVMTCDE` | `DPVMATCHCODE` | `CHAR(1)` | Delivery Point Validation code | | | `DPV_AA` | `DPV_AA` | `CHAR(1)` | City/state/ZIP + street valid | | | `DPV_A1` | `DPV_A1` | `CHAR(1)` | Zip+4 not matched; address invalid | | | `DPV_BB` | `DPV_BB` | `CHAR(1)` | Zip+4 match; confirmed entire address | | | `DPV_CC` | `DPV_CC` | `CHAR(1)` | Confirmed by dropping secondary info | | | `DPV_F1` | `DPV_F1` | `CHAR(1)` | Military or diplomatic match | | | `DPV_G1` | `DPV_G1` | `CHAR(1)` | General delivery match | | | `DPV_M1` | `DPV_M1` | `CHAR(1)` | Missing primary number | | | `DPV_M3` | `DPV_M3` | `CHAR(1)` | Invalid primary number | | | `DPV_N1` | `DPV_N1` | `CHAR(1)` | Confirmed, but missing secondary info | | | `DPV_PB` | `DPV_PB` | `CHAR(1)` | Confirmed as PO box-style address | | | `DPV_P1` | `DPV_P1` | `CHAR(1)` | PO, RR, or HC box number missing | | | `DPV_P3` | `DPV_P3` | `CHAR(1)` | PO, RR, or HC box number invalid | | | `DPV_RR` | `DPV_RR` | `CHAR(1)` | Confirmed with private mailbox info | | | `DPV_R1` | `DPV_R1` | `CHAR(1)` | Confirmed without private mailbox info | | | `DPV_R7` | `DPV_R7` | `CHAR(1)` | Valid address that doesn't receive USPS delivery | | | `DPV_U1` | `DPV_U1` | `CHAR(1)` | Matched a unique ZIP Code | | | `DPVFTNTES` | `DPVFOOTNOTES` | `VARCHAR(32)` | Full DPV footnotes string | | | `CMRAIND` | `DPV_CMRAIND` | `CHAR(1)` | Commercial Mail Receiving Agency or PMB indicator | | | `VCNTIND` | `DPVVACANTIND` | `CHAR(1)` | Previously active address, currently vacant | | | `ACTVADR` | `ACTIVEADDRESS` | `CHAR(1)` | Active, in-service address | | | `CORRZIPCDE` | `CORRECTEDZIPCODE` | `CHAR(1)` | ZIP Code was corrected | | | `FIXCTYSTT` | `FIXEDCITYSTATE` | `CHAR(1)` | City or state spelling was fixed | | | `INVCTYSTZP` | `INVALIDCITYSTATEZIP` | `CHAR(1)` | Invalid city/state/Zip | | | `NOZIP4` | `NOZIP4ASSIGNED` | `CHAR(1)` | No Zip+4 assigned | | | `MLTSMZIP` | `MULTIPLESAMEZIP` | `CHAR(1)` | Same ZIP for multiple | | | `ADRNOTFND` | `ADDRESSNOTFOUND` | `CHAR(1)` | Address not found | | | `USDFRMDTA` | `USEDFIRMLINEDATA` | `CHAR(1)` | Used firm data line for validation | | | `MSNSCNDNBR` | `MISSINGSECONDARYNUMBER` | `CHAR(1)` | Missing secondary number | | | `INCADRDTA` | `INCORRECTADDRESSDATA` | `CHAR(1)` | Insufficient/incorrect address data | | | `DUALADR` | `DUALADDRESS` | `CHAR(1)` | Dual address input | | | `CRDRLMTCH` | `CARDINALRULEMATCH` | `CHAR(1)` | Matched by changing cardinal direction | | | `CHGCMP` | `CHANGEDCOMPONENT` | `CHAR(1)` | Changed address component | | | `LACSFLG` | `LACSLINKFLAGGED` | `CHAR(1)` | Flagged address for LACSLink | | | `FIXSTR` | `FIXEDSTREET` | `CHAR(1)` | Street name spelling fixed | | | `FIXABRV` | `FIXEDABBREVIATIONS` | `CHAR(1)` | Address abbreviations were standardized | | | `MLTIZIP4` | `MULTIPLEZIP4` | `CHAR(1)` | Multiple ZIP+4 matches | | | `BTRADR` | `BETTERADDRESSEXISTS` | `CHAR(1)` | Better address (preferred name) exists | | | `UNQZIPMTCH` | `UNIQUEZIPMATCH` | `CHAR(1)` | Unique ZIP code | | | `EWSSOON` | `EWSMATCHSOON` | `CHAR(1)` | EWS indicates a match will be available soon | | | `BADSCNDADR` | `BADSECONDARYADDRESS` | `CHAR(1)` | Secondary info does not match ZIP+4 | | | `MAGSTRSYND` | `MAGNETSTREETSYNDROME` | `CHAR(1)` | Multiple response due to magnet street syndrome | | | `UNOFPONME` | `UNOFFICIALPOSTOFFICENAME` | `CHAR(1)` | Unofficial post office name | | | `UNVRCTYSTT` | `UNVERIFIABLECITYSTATE` | `CHAR(1)` | Unverifiable city/state | | | `INVDLVADR` | `INVALIDDELIVERYADDRESS` | `CHAR(1)` | Invalid delivery address for thia ZIP code | | | `UNQZIPCDE` | `UNIQUEZIPCODE` | `CHAR(1)` | Default match inside a unique ZIP code | | | `MLTMTCH` | `MILITARYMATCH` | `CHAR(1)` | Military or diplomatic ZIP code match | | | `ZIPMVMTCH` | `ZIPMOVEMATCH` | `CHAR(1)` | Matched with ZIPMOVE | | | `LACSCDE` | `LACSLINKCODE` | `VARCHAR(2)` | LACSLink indicator reason code | | | `LACSIND` | `LACSLINKIND` | `CHAR(1)` | LACSLink indicator | | | `STELNKMTCH` | `SUITELINKMATCH` | `CHAR(1)` | SuiteLink match indicator | | | `RSPTS` | `RESPONSETIMESTAMP` | `TIMESTAMP` | Response timestamp | | ### ATIERRLOG | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `PID` | `REQUESTID` | `DECIMAL(24:0)` | Request Unique ID | | | `UID` | `ERRORID` | `DECIMAL(2:0)` | Error Record Unique ID | | | `MSGCDE` | `MESSAGECODE` | `VARCHAR(10)` | Error message code | | | `MESSAGE` | `MESSAGE` | `VARCHAR(1024)` | Error message | | | `SOURCE` | `SOURCE` | `VARCHAR(10)` | Error source | | | `SUBPROC` | `SUBPROCEDURE` | `VARCHAR(132)` | Error source subprocedure | | | `LOGFILE` | `LOGFILE` | `VARCHAR(1024)` | Error logfile | | | `ERRTS` | `ERRORTIMESTAMP` | `TIMESTAMP` | Error timestamp | | --- # ATI_ValidateInternational() > Validates a non-US international address, returning results in ATIINTRSP and logging errors to ATIERRLOG. ATI_ValidateInternational() can be used to validate a non-US address when provided with the following data: - Street address information To achieve this, first generate a unique ID with ATI_GetUniqueID(), then populate and write a record to ATIINTREQ that contains the address data to be validated. Then, call ATI_ValidateInternational() by passing in your unique ID and other parameters as shown. ATI_ValidateInternational() will return *On if no error occurred, or *Off if there an error was encountered. If an error occurred, you can review the subfields in the ErrorDS parameter data structure to retrieve information about the error. Errors are also logged in the file ATIERRLOG. ## Subprocedure Prototype | Field | Description | |---|---| | `Dcl-Pr ATI_ValidateInternational Ind ExtProc(*DclCase);` | Returns *OFF if an error occurs during processing, *ON otherwise. | | ` pUniqueId Like(ATI_UniqueID_t) Const;` | Unique ID generated with ATI_GetUniqueID() | | ` pConfigID Like(ATI_ConfigID_t) Const;` | Config ID of config record to load | | ` pErrorDS LikeDS(ATI_ErrorDS_t) Options(*Omit:*NoPass);` | Error data structure used to capture errors | | `End-Pr;` | | ## Data Structures ### ATI_ErrorDS_t | Field | Description | |---|---| | `Dcl-Ds ATI_ErrorDS_t Qualified Template Inz;` | | | ` MessageCode VarChar(10);` | Message code of error message | | ` Message VarChar(1024);` | Error message text | | ` Source VarChar(10);` | Error message source | | ` Subprocedure VarChar(132);` | Subprocedure which received error | | ` LogFile Like(ATI_FilePath_t);` | IFS filepath of generated log file | | `End-Ds;` | | ## Input Table Files ### ATIINTREQ | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `UID` | `ADDRESSID` | `DECIMAL(24:0)` | Address Record Unique ID | | | `COUNTRY` | `COUNTRY` | `VARCHAR(64)` | Country Name | | | `GEOCODE` | `GEOCODE` | `CHAR(1)` | Enable Geocoding | | | `ADDRESSEE` | `ADDRESSEE` | `VARCHAR(256)` | Name of the recipient, firm, or company | | | `ADDRESS1` | `ADDRESS1` | `VARCHAR(64)` | First Address Line | | | `ADDRESS2` | `ADDRESS2` | `VARCHAR(64)` | Second Address Line | | | `ADDRESS3` | `ADDRESS3` | `VARCHAR(64)` | Third Address Line | | | `ADDRESS4` | `ADDRESS4` | `VARCHAR(64)` | Fourth Address Line | | | `CITY` | `CITY` | `VARCHAR(64)` | City Name | | | `ADMINAREA` | `ADMINISTRATIVEAREA` | `VARCHAR(32)` | State or Providence Name Abbreviation | | | `POSTALCODE` | `POSTALCODE` | `VARCHAR(16)` | Postal Code | | | `REQTS` | `REQUESTTIMESTAMP` | `TIMESTAMP` | Request Timestamp | | ## Output Table Files ### ATIINTRSP | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `UID` | `ADDRESSID` | `DECIMAL(24:0)` | Address Record Unique ID | | | `INPUTINDEX` | `INPUTINDEX` | `DECIMAL(24:0)` | Address Input Index | | | `CANDINDEX` | `CANDIDATEINDEX` | `DECIMAL(24:0)` | Address Candidate Index | | | `CRDUSED` | `CREDITSUSED` | `DECIMAL(2:0)` | Credits Used | | | `CURBLKRM` | `CURRENTBLOCKREMAINING` | `DECIMAL(9:0)` | Current Block Remaining | | | `ALLBLKRM` | `ALLBLOCKSREMAINING` | `DECIMAL(12:0)` | All Blocks Remaining | | | `ADDRESSEE` | `ADDRESSEE` | `VARCHAR(256)` | Addressee | | | `ADDRESS1` | `ADDRESS1` | `VARCHAR(256)` | Formatted address line 1 | | | `ADDRESS2` | `ADDRESS2` | `VARCHAR(256)` | Formatted address line 2 | | | `ADDRESS3` | `ADDRESS3` | `VARCHAR(256)` | Formatted address line 3 | | | `ADDRESS4` | `ADDRESS4` | `VARCHAR(256)` | Formatted address line 4 | | | `ADDRESS5` | `ADDRESS5` | `VARCHAR(256)` | Formatted address line 5 | | | `ADDRESS6` | `ADDRESS6` | `VARCHAR(256)` | Formatted address line 6 | | | `ADDRESS7` | `ADDRESS7` | `VARCHAR(256)` | Formatted address line 7 | | | `ADDRESS8` | `ADDRESS8` | `VARCHAR(256)` | Formatted address line 8 | | | `ADDRESS9` | `ADDRESS9` | `VARCHAR(256)` | Formatted address line 9 | | | `ADDRESS10` | `ADDRESS10` | `VARCHAR(256)` | Formatted address line 10 | | | `ADDRESS11` | `ADDRESS11` | `VARCHAR(256)` | Formatted address line 11 | | | `ADDRESS12` | `ADDRESS12` | `VARCHAR(256)` | Formatted address line 12 | | | `ISO3` | `COUNTRYISO3` | `VARCHAR(3)` | ISO 3166-1 alpha-3 country code | | | `ADAREA` | `ADMINISTRATIVEAREA` | `VARCHAR(64)` | Most common administrative division | | | `SUPADAREA` | `SUPERADMINISTRATIVEAREA` | `VARCHAR(64)` | Largest administrative division | | | `SUBADAREA` | `SUBADMINISTRATIVEAREA` | `VARCHAR(64)` | Smallest administrative division | | | `CITY` | `CITY` | `VARCHAR(64)` | City name | | | `DEPCITY` | `DEPENDENTCITY` | `VARCHAR(64)` | Additional information about the city | | | `DEPCITYNM` | `DEPENDENTCITYNAME` | `VARCHAR(64)` | Name of dependant city | | | `DBDEPCITY` | `DOUBLEDEPENDENTCITY` | `VARCHAR(64)` | Double dependent city | | | `ZIPCODE` | `POSTALCODE` | `VARCHAR(64)` | Complete postal code | | | `ZIPCODESH` | `POSTALCODESHORT` | `VARCHAR(64)` | Postal code short | | | `ZIPCODEEX` | `POSTALCODEEXTRA` | `VARCHAR(64)` | Postal code extra | | | `PREMISE` | `PREMISE` | `VARCHAR(64)` | Alphanumeric location code | | | `PREMEXT` | `PREMISEEXTRA` | `VARCHAR(64)` | Premise extra | | | `PREMNBR` | `PREMISENUMBER` | `VARCHAR(64)` | Premise number | | | `PREMTYPE` | `PREMISETYPE` | `VARCHAR(64)` | Premise type | | | `THOFARE` | `THOROUGHFARE` | `VARCHAR(64)` | Thoroughfare | | | `THOFAREPRE` | `THOROUGHFAREPREDIRECTION` | `VARCHAR(64)` | Thoroughfare predirection | | | `THOFAREPST` | `THOROUGHFAREPOSTDIRECTION` | `VARCHAR(64)` | Thoroughfare postdirection | | | `THOFARENME` | `THOROUGHFARENAME` | `VARCHAR(64)` | Thoroughfare name | | | `THOFARETRL` | `THOROUGHFARETRAILINGTYPE` | `VARCHAR(64)` | Thoroughfare trailing type | | | `THOFARETYP` | `THOROUGHFARETYPE` | `VARCHAR(64)` | Thoroughfare type | | | `DEPFARE` | `DEPENDENTTHOROUGHFARE` | `VARCHAR(64)` | Dependent thoroughfare | | | `DEPFAREPRE` | `DEPENDENTTHOROUGHFAREPREDIRECTION` | `VARCHAR(64)` | Dependent thoroughfare predirection | | | `DEPFAREPST` | `DEPENDENTTHOROUGHFAREPOSTDIRECTION` | `VARCHAR(64)` | Dependent thoroughfare postdirection | | | `DEPFARENME` | `DEPENDENTTHOROUGHFARENAME` | `VARCHAR(64)` | Dependent thoroughfare name | | | `DEPFARETRL` | `DEPENDENTTHOROUGHFARETRAILINGTYPE` | `VARCHAR(64)` | Dependent thoroughfare trailing type | | | `DEPFARETYP` | `DEPENDENTTHOROUGHFARETYPE` | `VARCHAR(64)` | Dependent thoroughfare type | | | `BUILDING` | `BUILDING` | `VARCHAR(64)` | Building | | | `BUILDTYP` | `BUILDINGLEADINGTYPE` | `VARCHAR(64)` | Building leading type | | | `BUILDNME` | `BUILDINGNAME` | `VARCHAR(64)` | Building name | | | `BUILDTRL` | `BUILDINGTRAILINGTYPE` | `VARCHAR(64)` | Building trailing type | | | `SBUILD` | `SUBBUILDING` | `VARCHAR(64)` | Sub-building | | | `SBUILDTYP` | `SUBBUILDINGTYPE` | `VARCHAR(64)` | Sub-building type | | | `SBUILDNMB` | `SUBBUILDINGNUMBER` | `VARCHAR(64)` | Sub-building number | | | `SBUILDNME` | `SUBBUILDINGNAME` | `VARCHAR(64)` | Sub-building name | | | `POBOX` | `POSTBOX` | `VARCHAR(64)` | Post box | | | `POBOXTYP` | `POSTBOXTYPE` | `VARCHAR(64)` | Post box type | | | `POBOXNBR` | `POSTBOXNUMBER` | `VARCHAR(64)` | Post box number | | | `LATITUDE` | `LATITUDE` | `DECIMAL(9:6)` | Latitude | | | `LONGITUDE` | `LONGITUDE` | `DECIMAL(9:6)` | Longitude | | | `GEOCODE` | `GEOCODEPRECISION` | `VARCHAR(18)` | Indicates precision level latitude/longitude | | | `MAXGEOCODE` | `MAXGEOCODEPRECISION` | `VARCHAR(16)` | Best geocode precision available. | | | `ADRFORMAT` | `ADDRESSFORMAT` | `VARCHAR(256)` | Address format | | | `VERSTATUS` | `VERIFICATIONSTATUS` | `VARCHAR(16)` | Verification status | | | `ADRPREC` | `ADDRESSPRECISION` | `VARCHAR(24)` | Address precision | | | `MAXADRPREC` | `MAXADDRESSPRECISION` | `VARCHAR(16)` | Max address precision | | | `CADDRESSEE` | `CHANGESADDRESSEE` | `VARCHAR(64)` | Changes to addressee | | | `CADDRESS1` | `CHANGESADDRESS1` | `VARCHAR(64)` | Changes to address 1 | | | `CADDRESS2` | `CHANGESADDRESS2` | `VARCHAR(64)` | Changes to address 2 | | | `CADDRESS3` | `CHANGESADDRESS3` | `VARCHAR(64)` | Changes to address 3 | | | `CADDRESS4` | `CHANGESADDRESS4` | `VARCHAR(64)` | Changes to address 4 | | | `CADDRESS5` | `CHANGESADDRESS5` | `VARCHAR(64)` | Changes to address 5 | | | `CADDRESS6` | `CHANGESADDRESS6` | `VARCHAR(64)` | Changes to address 6 | | | `CADDRESS7` | `CHANGESADDRESS7` | `VARCHAR(64)` | Changes to address 7 | | | `CADDRESS8` | `CHANGESADDRESS8` | `VARCHAR(64)` | Changes to address 8 | | | `CADDRESS9` | `CHANGESADDRESS9` | `VARCHAR(64)` | Changes to address 9 | | | `CADDRESS10` | `CHANGESADDRESS10` | `VARCHAR(64)` | Changes to address 10 | | | `CADDRESS11` | `CHANGESADDRESS11` | `VARCHAR(64)` | Changes to address 11 | | | `CADDRESS12` | `CHANGESADDRESS12` | `VARCHAR(64)` | Changes to address 12 | | | `CISO3` | `CHANGESCOUNTRYISO3` | `VARCHAR(3)` | Changes to ISO | | | `CADAREA` | `CHANGESADMINISTRATIVEAREA` | `VARCHAR(64)` | Changes to administrative area | | | `CSUPADAREA` | `CHANGESSUPERADMINISTRATIVEAREA` | `VARCHAR(64)` | Changes to super administrative area | | | `CSUBADAREA` | `CHANGESSUBADMINISTRATIVEAREA` | `VARCHAR(64)` | Changes to sub-administrative area | | | `CCITY` | `CHANGESCITY` | `VARCHAR(64)` | Changes to city | | | `CDEPCITY` | `CHANGESDEPENDENTCITY` | `VARCHAR(64)` | Changes to dependent city | | | `CDEPCITYNM` | `CHANGESDEPENDENTCITYNAME` | `VARCHAR(64)` | Changes to dependent city name | | | `CDBDEPCITY` | `CHANGESDOUBLEDEPENDENTCITY` | `VARCHAR(64)` | Changes to double dependent city | | | `CZIPCODE` | `CHANGESPOSTALCODE` | `VARCHAR(64)` | Changes to zipcode | | | `CZIPCODESH` | `CHANGESPOSTALCODESHORT` | `VARCHAR(64)` | Changes to zipcode short | | | `CZIPCODEEX` | `CHANGESPOSTALCODEEXTRA` | `VARCHAR(64)` | Changes to zipcode extra | | | `CPREMISE` | `CHANGESPREMISE` | `VARCHAR(64)` | Changes to premise | | | `CPREMEXT` | `CHANGESPREMISEEXTRA` | `VARCHAR(64)` | Changes to premise extra | | | `CPREMNBR` | `CHANGESPREMISENUMBER` | `VARCHAR(64)` | Changes to premise number | | | `CPREMTYPE` | `CHANGESPREMISETYPE` | `VARCHAR(64)` | Changes to premise type | | | `CTHOFARE` | `CHANGESTHOROUGHFARE` | `VARCHAR(64)` | Changes to thoroughfare | | | `CTHOFARPRE` | `CHANGESTHOROUGHFAREPREDIRECTION` | `VARCHAR(64)` | Changes to thoroughfare predirection | | | `CTHOFARPST` | `CHANGESTHOROUGHFAREPOSTDIRECTION` | `VARCHAR(64)` | Changes to thoroughfare postdirection | | | `CTHOFARNME` | `CHANGESTHOROUGHFARENAME` | `VARCHAR(64)` | Changes to thoroughfare name | | | `CTHOFARTRL` | `CHANGESTHOROUGHFARETRAILINGTYPE` | `VARCHAR(64)` | Changes to thoroughfare trailing type | | | `CTHOFARTYP` | `CHANGESTHOROUGHFARETYPE` | `VARCHAR(64)` | Changes to thoroughfare type | | | `CDEPFAR` | `CHANGESDEPENDENTTHOROUGHFARE` | `VARCHAR(64)` | Changes to dependent thoroughfare | | | `CDEPFARPRE` | `CHANGESDEPENDENTTHOROUGHFAREPREDIRECTION` | `VARCHAR(64)` | Changes to dependent thoroughfare predirection | | | `CDEPFARPST` | `CHANGESDEPENDENTTHOROUGHFAREPOSTDIRECTION` | `VARCHAR(64)` | Changes to dependent thoroughfare postdirection | | | `CDEPFARNME` | `CHANGESDEPENDENTTHOROUGHFARENAME` | `VARCHAR(64)` | Changes to dependent thoroughfare name | | | `CDEPFARTRL` | `CHANGESDEPENDENTTHOROUGHFARETRAILINGTYPE` | `VARCHAR(64)` | Changes to dependent thoroughfare trailing type | | | `CDEPFARTYP` | `CHANGESDEPENDENTTHOROUGHFARETYPE` | `VARCHAR(64)` | Changes to dependent thoroughfare type | | | `CBUILDING` | `CHANGESBUILDING` | `VARCHAR(64)` | Changes to building | | | `CBUILDTYP` | `CHANGESBUILDINGLEADINGTYPE` | `VARCHAR(64)` | Changes to building type | | | `CBUILDNME` | `CHANGESBUILDINGNAME` | `VARCHAR(64)` | Changes to building name | | | `CBUILDTRL` | `CHANGESBUILDINGTRAILINGTYPE` | `VARCHAR(64)` | Changes to building trailing type | | | `CSBUILD` | `CHANGESSUBBUILDING` | `VARCHAR(64)` | Changes to sub-building | | | `CSBUILDTYP` | `CHANGESSUBBUILDINGTYPE` | `VARCHAR(64)` | Changes to sub-building type | | | `CSBUILDNMB` | `CHANGESSUBBUILDINGNUMBER` | `VARCHAR(64)` | Changes to sub-building number | | | `CSBUILDNME` | `CHANGESSUBBUILDINGNAME` | `VARCHAR(64)` | Changes to sub-building name | | | `CPOBOX` | `CHANGESPOSTBOX` | `VARCHAR(64)` | Changes to post box | | | `CPOBOXTYP` | `CHANGESPOSTBOXTYPE` | `VARCHAR(64)` | Changes to post box type | | | `CPOBOXNBR` | `CHANGESPOSTBOXNUMBER` | `VARCHAR(64)` | Changes to post box number | | ### ATIERRLOG | Field Name | Long Field Name | Data Type | Field Title | Comments | |---|---|---|---|---| | `PID` | `REQUESTID` | `DECIMAL(24:0)` | Request Unique ID | | | `UID` | `ERRORID` | `DECIMAL(2:0)` | Error Record Unique ID | | | `MSGCDE` | `MESSAGECODE` | `VARCHAR(10)` | Error message code | | | `MESSAGE` | `MESSAGE` | `VARCHAR(1024)` | Error message | | | `SOURCE` | `SOURCE` | `VARCHAR(10)` | Error source | | | `SUBPROC` | `SUBPROCEDURE` | `VARCHAR(132)` | Error source subprocedure | | | `LOGFILE` | `LOGFILE` | `VARCHAR(1024)` | Error logfile | | | `ERRTS` | `ERRORTIMESTAMP` | `TIMESTAMP` | Error timestamp | | --- # APYLIC - Apply Product License > Applies a permanent or temporary license key to the Address Toolkit for i installation. To apply a permanent or temporary license key for Address Toolkit for i, you will use the included command APYLIC. Your license key will typically be supplied via email in a command string: `APYLIC LICKEY(6E2222898982C8F1380F4DF08A23922C) PRODUCT(ATI)` Or, you can copy and paste the received key into the command: ![Apply License (APYLIC)](https://isupport.katointegrations.com/llms/address-toolkit-for-i/apylic.png "Apply License (APYLIC)") In either case after running the APYLIC command, you should receive a message that says **License applied successfully**. If you don't receive that message or receive an error message, please contact us at isupport@katointegrations.com. --- # DSPMCHINF - Display Machine Info > Displays system machine information and license key status required by support to generate activation keys. To generate a license key for your Address Toolkit for i installation, a support representative will need your system information. The easiest and preferred way to get this information is to run the DSPMCHINF command, take a screenshot, and email it to us at isupport@katointegrations.com. The command does not have any parameters: `DSPMCHINF` The command should display a screen similar to the one below. This screen indicates all the information necessary to generate your license key, as well as the current status of any applied license keys. ![Display Machine Info (DSPMCHINF)](https://isupport.katointegrations.com/llms/address-toolkit-for-i/dspmchinf.png "Display Machine Info (DSPMCHINF)") If you don't see this screen or receive an error message, please contact us at isupport@katointegrations.com. --- # DSPLIC - Display License Info > Legacy alias for DSPMCHINF; displays machine and license information needed for activation key generation. DSPLIC is an alias for the [DSPMCHINF](https://isupport.katointegrations.com/llms/dspmchinf.md) command included in Address Toolkit for i for legacy reasons. The command does not have any parameters: `DSPLIC` The command should display a screen similar to the one below. This screen indicates all the information necessary to generate your license key, as well as the current status of any applied license keys. ![Display License Info (DSPLIC)](https://isupport.katointegrations.com/llms/address-toolkit-for-i/dsplic.png "Display License Info (DSPLIC)") If you don't see this screen or receive an error message, please contact us at isupport@katointegrations.com. --- # DSPVER - Display Product Version > Displays the currently installed version of Address Toolkit for i. DSPVER can be used to retrieve the version of Address Toolkit for i that is currently installed. The command does not have any parameters: `DSPVER` You should recieve a message indicating the currently installed version: ![Display Product Version (DSPVER)](https://isupport.katointegrations.com/llms/address-toolkit-for-i/dspver.png "Display Product Version (DSPVER)") If you don't receive that message or receive an error message, please contact us at isupport@katointegrations.com.