David,
CPS Works great. I use ODBC to grab all Shipping information directly from the DBA data files (This should not suprise you!

.
I modified the Packing Slip report to include Barcode for the Shipper # and Sales Order #. We have a CCD Barcode reader on the CPS shipping Computer so that the Shipping people only need to scan the shipper # and Sales order number to get all the shipping info.
A couple of weeks ago, I changed CPS to access the shipping information through a View instead of directly from BKARINV. Boy, this worked great!!
This allowed me to specifiy a SELECT statement that uses IF logic to pass a ShipElert Email address to CPS.
I now have 3 ways that a Shipelert Email address is selected:
1. If an email address exists on SO Note Line #1, then it is used.
2. If an email address exists on AR Contact #5, then it is used.
3. If an email address exists on AR Contact #1, then it is used.
With this select logic, Everybody that we had an email address on started getting ShipElerts. Some of them called and said that they wanted shipElerts to go to a different address, so we enter that one in Contact #5. This still allows a specific order from a customer to use a unique email (like a drop ship request). The highest priority email address is the one in the SO Note.