When applying an MDG system for vendor and/or customer, it’s recommend that end users should not have the authorizations for usage of transactions XK01, XK02, etc. anymore (otherwise they could deviate MDG and maintain the vendors/customers directly in the ERP system).
However this leads to the issue that CVI is no longer possible to create vendors/customers because it checks whether the end user has the relevant authorization. If this authorization is removed, the CVI throws an error message. (CVI is needed because MDG creates a business partner first and then via CVI a vendor/customer data set.)
To avoid this issue you can implemented the two BAdIs
- VENDOR_EXTENSION_AUTH_CHECK and/or
- CUSTOMER_EXTENSION_AUTH_CHECK
They offer a method AUTHORITY_CHECK_VEND_TRANSACT resp. AUTHORITY_CHECK_CUST_TRANSACT of interface IF_EX_VENDOR_EXTENSION_AUTH resp. IF_EX_CUSTOMER_EXTENSION_AUTH that allows to put source code avoiding that CVI executes the authority check. An example for such a coding: