CDS358

Validate Address

Last Revised: 01/22/20

This routine used to validate and standardize an address.  It will change the spelling of street names, change the street, directional abbreviations, and city to the standard format as determined by the US Postal Service, and assign the Zip+4 for US addresses.  It supports US and Canadian addresses.  An active internet connection is required.

This application is only available to customers that participate in the Excellware Priority Support plan, as this program uses a fee-based service provided by Melissa Data.  You can verify that the Dynamo Address Correction option is enabled on a particular system using the I menu option.  In the Application Software section, the Licensed Options will include 'DAC' when this option is enabled.

Effective with versions dated 05/13/19 or later, CDS358 can be run from Windows, including Eclipse, when accessing Dynamo Tools across a data server connection on a server running linux/unix/AIX. In these cases the SMSDIR global will include he data server syntax, i.e., "/<server>/u/CDI/".

Program SW022 can be used as a View Validation routine which calls CDS358 to validate an address.

Calling Format:

CALL "CDS358", S358$

CDS358 In/Out Description
S358.NAME$ In Company or person's name.  This field is used to determine whether the standardized address should be in all capital letters or in proper case.  If the NAME field contains more upper case letters, than lower case, then the standardized address will be returned using all capital letters.  This is done so that a name like SAM MacSHANE will return an address using all capital letters, but Sam MacShane will have a proper case address.
S358.ADDRESS$ In/Out The address to be validated.  Note that only one address line can be used.  If you have two lines of address then use the address line 2 if not blank, otherwise use address line 1.
S358.CITY$ In/Out City Name
S358.STATE$ In/Out State Code
S358.ZIP$ In/Out US Zip Code or Canadian Postal Code
S358.COUNTRY$ In/Out "US" for United States, "CA" for Canadian addresses.
S358.CRRT$ Out Carrier Route for US addresses.
S358.DPBC$ Out Assigned the Delivery Point Bar Code for US addresses.  Used when printing the postnet bar code to obtain lower postage rates.
S358.COUNTYCODE$ Out Assigned the County Code that the US address is located in.  Useful for county based sales tax rates.  File DYSW05 contains the list of county codes and names.
S358.ADDERRCODE$ Out Non-blank indicates the address could not be verified.
S358.ADDERRDESC$ Out Assigned to a brief description of the reason an address could not be verified.
S358.DISPMSG In If passed as non-zero then progress and error messages are displayed.
S358.CHGADDRESS Out Returned as non-zero if the ADDRESS$ field was changed.
S358.CHGCITY Out Returned as non-zero if the CITY$ field was changed.
S358.CHGSTATE Out Returned as non-zero if the STATE$ field was changed.
S358.CHGZIP Out Returned as non-zero if the ZIP$ field was changed.
S358.CHGCOUNTRY Out Returned as non-zero if the COUNTRY$ field was changed.
S358.CHGCRRT Out Returned as non-zero if the CRRT$ field was changed.
S358.CHGDPBC Out Returned as non-zero if the DPBC$ field was changed.
S358.CHGCOUNTYCODE Out Returned as non-zero if the COUNTYCODE$ field was changed.
S358.CHGANY Out Returned as non-zero if any address field was changed.
Example

Note how the Street Type (Way), Zip+4, Carrier Route, Delivery Point Bar Code, County Code and County Name have been populated by CDS358.