I have extended a data source by one field via RSA6 and then coded enhancement for that CRM-BW datasource field in 2 ways for 0CRM_LEAD_H.
1. CMOD and then SAP provided user exit for transactional data :(EXIT_SAPLRSAP_001)
2. MFLOW BADI via BWA5.
Both works when I bring data into BW for the loads - full, delta initi and deltas.
I also notice if both codes are active simultaneously - then in all the types of data loads (full delta, delta init) the CMOD values comes through into BW - meaning first the BADI is processed and then the CMOD codes.
Question is when to which code and why this BADI at all - when CMOD works fine as it does for most R/3 type data.
What is special in CRM to use BADIs?? (seems BADI can map into CRM tables also and thene avoids cumbersome ABAP selects and joins to do manual coding. Is that all the benefit??)