Like in the classic SAP-GUI, the address controller will allow the application to implement a duplicate check by a third-party tool.
There are two steps you have to take:
1. Provide the class CL_BSP_ADDRESS_PARAMETERS returned in method GET_ADDRESS_KEY with the necessary data for the duplicate check using method ENABLE_DUPLICATE_CHECK.
2. Implement the method DUPLICATES_FOUND of class CL_BSP_APPLICATION_ADDRESS.
Every time an address with the flag DUPLICATE_CHECK_IS_ACTIVE is inserted or changed, a duplicate check will be conducted. Should any duplicates be found, then the method DUPLICATES_FOUND will be called to inform the application. The application then has to further process this information.
The interface parameters of method ENABLE_DUPLICATE_CHECK have the same meaning as those of function module ADDR_ENABLE_DUPLICATE_CHECK; the interface parameters of method DUPLICATES_FOUND have the same meaning as the exporting parameters of function module ADDR_DUPLICATE_CHECK_FOR_BAPI.
It is possible that the method DUPLICATES_FOUND will be called several times in one server roundtrip, especially if address data is maintained in several of the controllers in the application. In this case, the last call always holds the correct data. It is possible that DUPLICATES_FOUND is called with an empty result list, which means there are no duplicates and any previously recorded duplicates for this address must be discarded.