Posted on Mar. 17, 2010 at 05.19 PM - Kuala Lumpur, Malaysia
The best place to find the place to trigger the interface from SAP standard transaction is exit during 'SAVE' action. Below are the possible enhancements technique used in the SAP standard transactions:
1. User Exit which normally available in SD and MM module. This exit has be recategorized by SAP as modification, so if we can find other ways, better not to use this technique.
2. Customer Exit. This technique is still widely used in many SAP modules. We can see this type of enhancement from transaction SMOD, and implement it by using transaction CMOD.
3. Business Transaction event (BTE) which is mostly used in Finance module only. It has 2 mode, 'publish and subscribe' which allow the enhancement to have multiple implementation, and 'process' which allow the enhancement to pass back some data to SAP standard processing routine.
4. Business Add Ins (BADI). This technique is the object oriented enhancement and widely used in many SAP modules. We can see this type of enhancement using transaction SE18 and implement it by using transaction SE19.
5. Enhancement spot and section. This is part of new enhancement concept, which is better in terms of performance compare to the classical BADI above, as it's compiled together with the main program not during runtime. We can see this type of enhancement also using transaction SE18 and implement it using transaction SE19.
6. The last enhancement is called 'implicit enhancement'. It can be used when there is no above mentioned techniques available. By using this technique we can add custom code into 'any' (not all) SAP standard program, routine, function module, or method or classes. We can even change their signatures. This enhancement needs to be used with good understanding as it will affect the behavior of the SAP standard program.
What if we don't find any suitable enhancement for triggering our interface?
Dependent on the module we can either use this technique:
1. Workflow mechanism. Upon successful saving of a transaction, normally SAP trigger an event, which might trigger a workflow. Over here, instead of triggering the event, we can trigger our interface.
2. Change document/Change pointer. Upon successful saving of a transaction, normally SAP also create a change document or change pointer entries. We can hook the call of the interface in the respective change document or change pointer function module.
3. Output type. The output determination strategy can be configured to trigger the interface, instead of a normal output program.
4. Action. The post processing framework can be configured to trigger the interface, instead of a normal output program
Life is beautiful! Let's make it meaningful and colorful!