Before you start the implementation phase, you should keep in mind:
When you release a BAPI, it becomes available as a fully implemented method of a business object type. Releasing also prevents anyone making incompatible changes to the BAPI, because all changes made to a released BAPI are automatically checked for compatibility in the BOR and the ABAP Dictionary, and incompatible changes are rejected.
SAP internal: If the BAPI is only to be used internally, and therefore not for release to customers, the status of the function module must be set to Released internally.
Enhancements and Modifications of BAPIs
If you are enhancing or modifying a BAPI, rather than creating a new BAPI, keep in mind the requirements below:
BAPIs Used for Outbound Processing
Up to and including Release 4.0 BAPIs could only be implemented as function modules in the same system that they were defined in.