I'm trying to determine how to modify SAP R/3 package code of an installed system. Can anyone suggest the module/tool for that?
问题:
回答1:
SAP has provided various customer plug-ins in order to enable customers to modify and adapt standard code:
User exits (Transactions SMOD, CMOD and SE81). This article covers user exists in greater detail.
BADI's (Business Add-inns, Transaction SE18). This is an Object Oriented(ish) way of extending standard functionality. This article covers BADI's in greater detail
Explicit Enhancement Points (Netweaver 7.0 and later only, Transaction SE80) are placeholders in the SAP standard code where programmers can add their own code. Read more here about enhancement spots.
All these options require SAP to have anticipated the need to enhance the code and provide the hooks for enhancements. If they are there it is a great way to maintain SAP standard code without voiding the support agreement with SAP.
The following 2 ways do not require SAP to do anything:
Implicit Enhancement Spots (Netweaver 7.0 and later only, Transaction SE80). Works the same as Explicit Enhancement Spots, but exists at the start and end of ALL functions, forms, methods, structures etc. The menu path Edit->Enhancement Operations->Show Implicit Enhancement Points will make these visible. The beauty of Implicit Enhancement Spots is that it is still supported by SAP.
Program Repairs: In SE80 hit the change icon and SAP will ask for a repair key - this can be requested from SAP at http://service.sap.com (usually by the Basis guys). Once you've provided the key you can edit the code normally (or with modification assistant if it is turned on). Repaired objects are not supported by SAP
Edit: As of 2008/2009 under the SAP Enterprise licensing agreement Repaired Objects may still be supported by SAP
Copying a SAP standard program to a Z-package and modifying it there should be a last resort, as you will have to manually compare and maintain any such programs for every patch and upgrade which makes the general maintainabiliby of your system a lot harder.
SAP provide tools to patch or upgrade all the abovementioned changes to standard code and most times you have to do little more than just confirm the change after a patch or upgrade.
Note: You may need an OSS logon to access the documents. If you can't SAP help is usually quite good.
回答2:
I've always done it through the SE80 transaction, where I can browse the existing non-Z code, copied it to a Z package, and modifiy it there.