ATI_ValidateStreet()

This subprocedure is used to ATI_ValidateStreet() can validate an 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

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

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

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

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
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
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