SAP_ABAP_CODE REVIEW CHECKLIST_REPORTS
1. Check List |
Objects |
1.1. Program Description |
A Program Description Adequate: |
1.2. Base Program Usage |
A Prescribed base Program Used: |
1.3. Naming Convention Correct |
A Program Name: |
B Development Class: |
C Tables: |
D Internal Table: |
E Work Fields (Global/Local): |
F Parameters: |
G Selection Options: |
H Includes: |
I Types: |
J Field-Groups: |
K Field-Symbols: |
L Constants: |
M Forms: |
N Statics: |
O Objects/Classes: |
P Methods: |
1.4. Modification Change Management |
A Change History In Program Header: |
B Begin of Modification Line Included: |
C End of Modification Line Included: |
D Inserted Line History: |
E Commented Line History: |
F Suitable Comments Include: |
1.5. Program Elements Sequence |
Tables |
Data (including Internal Table) |
Work Fields |
Field-Groups |
Classes |
Includes |
Selection Options |
Parameters |
1.6 Program Events |
Load-of-program |
Initialisation |
At Selection-Screen Output |
At Selection-Screen on Help/Value Request |
At Selection-Screen |
Start-of-Selection |
Get |
End-of-Selection |
At Line-Selection |
At PFXX |
At User-Command |
Top-of-Page |
End-of-page |
Forms |
Methods |
Interfaces |
1.7. Indentation |
A Indentation Proper (use of Pretty Printer) |
1.8. Includes (Specific to project) |
A RVADTABL Included |
1.9. Function Modules Used |
A TOP-OF-PAGE |
B Y_BU_REPORT_HEADING (Specific to project) |
1.10. Text elements used: |
A Title / heading line |
B Selection texts with clear meaning |
C Text symbols for literal texts |
1.11. Selection Screen / Other Screens: |
A Easy to understand and not cluttered. (Define additional selection-screen, if the Screen looks crowded or cluttered) |
B Screen elements placed in logical order |
C Logically related elements in separate blocks |
D Adequate info texts for correct selections |
E Function Keys with info-texts / labels |
F Icons with info-texts / labels |
G Error messages meaningful |
H Menu bar proper |
1.12. Report Output: |
A Report Heading as per specs./ any suitable one |
B Sequence of columns as per specified format |
C Control breaks and sort order proper with color formats |
D Check Date format specified or appropriate for the client |
E Are there any amount Fields. If yes is there a total for the amount field displayed? If no, should it not be there ? |
F Are there any Quantity Fields. If yes is there a total for the Quantity Field displayed? If no, should it not be there? |
G " End of Report " at the end of output |
1.13. Performance Issues : |
Database accesses |
A "Select where Please Insert ‘ Mandt’ ’ and client specified in all Select statements |
B Select single used where appropriate |
C Select .. Into table.. used instead of append (Try to avoid appending records and processing in a Select.. Endselect loop) |
D Select * avoided wherever possible |
E Nested select avoided if possible |
F For mass modifications based on a condition, use " Update in place of " Select .. Where ..update |
G Select aggregate records directly from the database tables rather than selecting individual records into an internal table and then obtaining aggregate values |
Internal Table accesses |
H Tables defined as sorted types with keys, wherever possible |
I Key fields for sorting are at the beginning of the table structure |
J " Loop at |
K Tables filled directly by "Select from |
L Tables modified with " Modify |
M Tables sorted in proper order of fields before reading for final output |
N Access a specific record by " Read table with key f1 = k1 binary search " instead of " Loop at |
O Table work area cleared before copying records / fields between internal tables |
P Use " Collect |
Q For mass modifications based on a condition, use " Modify |
1.14. Test data: |
A Test data available |
1.15. Documentation |
A Documentation Complete |
1.16. Exceptional Handling |
A Is sy-subrc being checked after every select statement. In case it fails , any steps? |
1.17. Modularization |
A Forms created for modularization |
1.18. Messages (Specific to project) |
A 398(00) with Text-Mnn used |
1.19. External Calls |
A Programme Contains External Calls |
1.20. General |
A. “Extended Check done ? |
B. Code Inspector check done? |
No comments:
Post a Comment