Below are very important points to be remembered while coding in user exits/customer exits/BADI etc.
- Never issue COMMIT/ROLLBACK or call function modules that does commit work (like mail sending FMs) in user exits.
- Never issue own popup using function modules. This will affect existing BDC programs
- Place the conditions so that your code will be executed only in particular case.
- Use own local work area instead of standard internal table header lines
- Take care of performance tuning techniques.
- Use IF statement instead of CHECK (Only preferred in user exits)