SAP_ABAP_CODE REVIEW CHECKLIST_USER EXITS
1. Check List |
1.1 User Exits ( In Sales & Distribution ) |
A. Code to be included in the forms in SAP standard programs listed under ‘System Modifications’ in IMG. Hence Access Key is required. |
B. Additional logic to be written between FORM..ENDFORM statements of the appropriate form. |
C. Check for available data fields. What structures/fields/tables are populated (Debugging - Keep breakpoint at FORM), so that you don't have to write additional select queries to fetch data. |
D. Subroutines, fields etc should start with ZZ. To include a new field use ZZ E.g. To include new field to vbak Use vbak-zzfield1 |
E. Do not include COMMIT WORK as it will result in inconsistent data base commits. |
F. All the naming convention for a program should be followed |
1.2 Customer Exit (Screen Exit, Menu Exit, Function Module Exit) |
A. The include created must be separately activated apart from activating the project. |
B. Only the import and export parameters of the underlying function module maybe used. For storing/passing any other values, SET/GET parameters or IMPORT/EXPORT may be used depending on the logic. |
C. Do not include COMMIT WORK as it will result in inconsistent data base commits. |
D. If any other update is to be used, then it should be done in UPDATE TASK so that all the database commits happen at the time of transaction commit. |
E. Sometimes, an IMPORT parameter has to be explicitly moved into an EXPORT parameter for it to be recognized after the EXIT processing. This will be clear from the documentation of the correspond function module/ enhancement. |
F. All the naming convention for program should be followed. |
G. All data declaration should be done in the TOP include if it is required across called FORM routines in the exit. STATICS maye be used to declare static variable as the case may be . |
H. If an exit is not to be used the corresponding project should be deactivated. Also unused enhancements from a project should be removed so that they may be used some where else when required.( an enhancement can belong to one project only ! ). Hence segreation between different scenarios can only be done in the code. |
I. After an active project has been transported check that it is activated in the target system as in some cases this does not happen automatically. |
1.3 General |
A. “Extended Check done? |
B. Code Inspector check done? |
No comments:
Post a Comment