ABAP Review Check List
This is a work in process. Please feel free to ask questions, make suggestions & correct misinformation!
Carolyn Fuller fuller@mit.edu
Mandatory Checks
Many of these checks can be done automatically by launching transaction ZUTALORS
I. Documentation
- Program documentation
- Function Module documentation
- Include documentation
- In source documentation
- Beginning block of source code documentation
II. Naming Conventions
Variable & Interface Parameter & Names
- Selection options = S_
- Internal tables (global) = GT_
- Internal tables (local) = LT_
- Constants = GC_
- Constants (local) = LC_
- Ranges (global) = GR__
- Ranges (local) = LR_
- Simple variables (global) = GV_
- Simple variables (local) = LV_
- Structures (global) = GS_
- Structures (local) = LS_
- Object references (global) = GO_
- Object references (local) = LO_
- Exception class reference (global) = GX_
- Exception class reference (local) = LX_
- Form parameter (Used in the actual form not the Perform statement.)
- Single value or variable = PV_
- Single structure or record(however complicated) = PS_
- Internal table(however complicated the line structure) = PT_
- Object reference = PO_
- Exception class reference = PX_
- Class Method, Web Dynpro Method or Function Module parameters
- Import simple variable = IV_
- Import structure = IS_
- Import table = IT_
- Import object reference = IO_
- Import exception class reference = IX_
- Export simple variable = EV_
- Export structure = ES_
- Export table = ET_
- Export object reference = EO_
- Export exception class reference = EX_
- Changing simple variable = CV_
- Changing structure = CS_
- Changing table = CT_
- Changing object reference = CO_
- Changing exception class reference = CX_
- Returning simple variable = RV_
- Returning structure = RS_
- Returning table = RT_
- Returning object reference = RO_
- Returning exception class reference = RX_
- Locally defined classes = LCL_
- Locally defined interfaces = LIF_
- Locally defined exception classes = LCX_
- Screen Parameters = A_ or P_
Web Dynpro View Element Naming Conventions
(see ZUTALORS or ZUTREV for the list of Naming Conventions)
Program & Function Group Names
Below XX is the application area found in the custom table, ZCA_ABBR
- Report Programs, Web Dynpro Components, Enhancements, Function Groups = ZXX (if one time program YXX)
- Function Modules = Z_XX
- Module Pools = SAPMZXXn (n = sequential number 0 - 9)
- Web Dynpro Application = ZXX<name>_APP
- Class = ZCL_XX
- Exception Class = ZCX_XX
- Assistance Class = ZCL_XX<name>_ASSIST
- Interface = ZIF_XX
ABAP programs (reports), function groups and module pools all use a 2 character application name abbreviation. The list of current M.I.T. applications will be maintained in the custom table ZCA_ABBR..
III. Attributes
- Authorization Group in attributes - Programs that can be executed by all MIT users must be configured using the Authorization Group 'ZOPN2ALL' for Application '*'.
- Development Class needs to be application specific. This standard is a work in process.
- Unicode Check Active is check-marked.
- Accessibility Check Active is check-marked for Web Dynpro View Components
- Web Dnpro View Components pass accessibility check (Web Dynpro Component -> Check -> Complete Object)
- WDACCESSIBILITY = X on the parameters tab in Web Dynpro Application
- Webdynpro view layouts should contain <h2> tags associated with major sections of page layout. (A Transparent Container that is used for the purposes of organizing the page into sections must be "Labeled by" a sectionHeader UI element with level property set to "header4"). Below "Student details" and "Transaction details" are header4 sectionHeaders. The Transparent Container, TC_STUDDETAIL1 is labeledBy the SectionHeader SH_STUDHEADER.